В чем разница между выполнением скрипта с помощью Cygwin и PuTTY?

теперь я получаю script.sh, ранее он был выполнен с помощью PuTTY при условии, что он был написан в VMWare, но теперь я хочу выполнить в Windows, используя Cygwin, я уже копирую script.sh выход в соответствующую директорию, но некоторые команды Cygwin не распознает.

generate(){
 date +%T
}

TIME = generate()
echo " Current Time: $TIME"

после выполнения в Cygwin

script.sh: line 3: syntax errot neat unexpected token '$'<r''
script.sh: line 3:'generate<><
12
задан Olli
29.11.2022 22:41 Количество просмотров материала 3500
Распечатать страницу

1 ответ

у вас есть пару ошибок в скрипте. В задании не может быть пробелов вокруг знака равенства. Для назначения вывода функции или программы переменной необходимо использовать подстановку команд, которая означает, что имя команды окружено $() (что предпочтительнее) или backticks (что менее желательно). Кроме того, при вызове функции не используются круглые скобки после имени функции, как в других языках.

generate () {
    date +%T
}

TIME=$(generate)

echo " Current Time: $TIME"

на $'\r' ошибка происходит от того, окончания строк Windows. Вы можете использовать dos2unix преобразовать файл или использовать редактор, который вы можете выбрать, какой тип окончаний, чтобы сохранить файл.

dos2unix script.sh
1
отвечен Dennis Williamson 2022-12-01 06:29

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх