Я застрял с проводной проблемой.Мои bash-скрипты сейчас не работают.Это работало ранее.Я не знаю почему.Интересно, что команды на скрипте работают, когда я ввожу его непосредственно в терминал.

Это пример строки из моего скрипта ls

На терминале, когда я запускаю sh ./check.sh , вывод : command not found ls

Вывод аналогичен и для других команд, за исключением того, что echo показывает правильный вывод.

Я прошу всех добрых людей помочь мне.

1 ответ1

1

Вы создали скрипт с редактором DOS (windows), который добавляет \r (возврат каретки) в конец каждой строки.

Вы можете конвертировать файл с помощью:

dos2unix check.sh check.sh.tmp && mv check.sh.tmp check.sh

Я лично обычно делаю vim check.sh а затем :set notx и затем сохраняю файл :wq

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .