Я провожу большую часть дня ssh'd на серверах. У меня есть серия псевдонимов / функций / сценариев, которые позволяют мне вводить p hostname
из терминала и выполнять экран GNU (1) на удаленной стороне, используя следующую команду:
exec ssh hostname -t 'screen -RD'`
Я только недавно заметил, что ssh -t
не получает мой пользовательский $PATH
. Вот некоторые выводы терминала:
adam@workstation:~:0$ sh server 'echo $PATH'
/home/adam/bin:/usr/local/bin:/bin:/usr/bin:/opt/git/bin:/opt/git/libexec/git-core
adam@workstation:~:0$ ssh server -t 'echo $PATH'
/usr/local/bin:/bin:/usr/bin
Connection to uranus.plymouth.edu closed.
Моя самая большая проблема заключается в том, что мои пользовательские псевдонимы только пытаются выполнить screen
, так как я не могу гарантировать абсолютный путь, а мой $PATH
структурирован, поэтому оболочка должна найти правильный. Если мои настройки $PATH
не соблюдаются, мои сценарии не работают. Есть ли способ, которым я могу использовать $PATH
как определено моим .bashrc
/.bash_profile
?
Я считаю, что PermitUserEnvironment
отключен.