1

Моя конфигурация среды отличается, когда я выполняю команды, используя строковый параметр ssh (неинтерактивный ssh) вместо того, чтобы запускать их вручную на сервере (интерактивный ssh)?

Пример: когда я запускаю ssh <user@servername> "echo \$SGE_ROOT" , я получаю пустую строку. Когда я подключаюсь к своему серверу ssh <user@servername> и запускаю команду echo $SGE_ROOT я получаю /opt/gridengine .

Я думаю, что какой-то профиль сценария не выполняется. Можно ли выяснить, какой скрипт и запустить его через неинтерактивный ssh, чтобы сделать конфигурацию среды идентичной?

Сервер использует CentOS 6.6.

1 ответ1

0

Кажется, что ни один из скриптов профиля или bash не выполняется при использовании неинтерактивного ssh. Поэтому я должен был назвать их явно:

ssh <user@servername> "source /etc/profile; echo \$SGE_ROOT"

Также мне пришлось прокомментировать эту строку в файле ~/.bashrc :

# If not running interactively, don't do anything
[ -z "$PS1" ] && return

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