Как правильно заметил Дэвид, следите за переменными среды.
В зависимости от того, как вы собираетесь запустить скрипт, переменные, установленные в .profile
и .bashrc
, могут быть недоступны.Это зависит от того, запущен ли скрипт в интерактивном режиме и была ли это оболочкой входа в систему.См. Справочник по файлам быстрого запуска .
Обычная проблема, которую я вижу, это сценарии, которые работают при запуске из оболочки, но не работают при запуске из другого приложения (cron, nagios, buildbot и т. Д.), Потому что$PATH
не был установлен.
Чтобы проверить, будет ли команда / сценарий работать в сеансе clean , вы можете войти в систему, используя:
ssh -t localhost "/bin/bash --noprofile --norc"
Это гарантирует, чтомы не наследуем никакие экспортируемые переменные из родительской оболочки и ничего из .profile
или .rc
.
Если это работает в сеансе clean , и ни одна из ваших командожидайте быть в интерактивном режиме , тогда все готово!