2016-07-11 3 views
0

У меня возникла странная проблема при попытке выполнить сценарий оболочки.выдача сценария оболочки

Когда я пытаюсь выполнить скрипт с ./scriptname.sh, он сразу же возвращается в приглашение. Сценарий имеет правильные разрешения. Если я копирую сценарий на другой сервер, он вообще не создает проблем.

Я могу выполнить другие скрипты sh ​​на рассматриваемом сервере без проблем.

Есть ли способ устранить эту проблему, поскольку я нахожусь в затруднении?

Заранее спасибо.

+2

'Баш -x script'. – 123

ответ

1

Лучший способ проверить ошибки синтаксиса, вы можете сделать следующее.

ш -п script_name

Если вы хотите, чтобы выполнить сценарий и увидеть поток, вы можете использовать ниже

ш -х script_name

Надеются, что это помогает

+0

Спасибо. Поэтому команда sh -n ничего не возвращает, поэтому не допускает синтаксических ошибок. sh -x был интересен. При использовании этой команды для запуска скрипта на сервере проблем команда сокращается. Любые идеи, почему на проблемном сервере скрипт сокращается. – user2841861

+0

В начале сценария оболочки вы могли бы использовать интерпретатор, например #!/Bin/sh (или) #!/Bin/ksh. Можете ли вы проверить, имеет ли он допустимый путь? – user1575765

+0

В скрипте нет ничего, чтобы установить интерпретатор. Это останавливается на + case $ HOSTNAME в , это последняя запись на проблемном сервере. – user2841861

Смежные вопросы