Не найдена ошибка при запуске скрипта с `sh`

У меня есть простой сценарий оболочки:

#!/bin/bash

var="foo"
echo $var

Когда я запускаю его, используя sh shell.sh (имя файла - shell), я получаю следующую ошибку:

: not found: 2: shell.sh:

Что это значит?

0
задан 10 November 2017 в 23:40

1 ответ

Вы пробовали sh ./shell.sh вместо sh shell.sh?
(из соображений безопасности текущий каталог . НИКОГДА в ПУТИ не доступен)

Также первая строка в Ваш сценарий #!/bin/bash необходим только в том случае, если сценарий запускается сам по себе,
, как ./shell.sh (в этом случае не забудьте выполнить chmod a+x shell.sh)

Наконец, sh команда вызывает оболочку dash, а не оболочку bash, поэтому было бы целесообразно вызывать сценарии bash, например bash ./shell.sh вместо sh ./shell.sh

. Будьте внимательны с окончаниями строк:
Bash делает не принимать \ r \ n (CRLF) в качестве окончания строки (в стиле windows).
Только \ n (LF) разрешено.

0
ответ дан 10 November 2017 в 23:40

Другие вопросы по тегам:

Похожие вопросы: