При выполнении сеанса SSH, который просто запускает команду вместо фактического подключения к вам, создается впечатление, что моя переменная окружения PATH отличается от того, когда я обычно подключаюсь к сеансу SSH, и в нем отсутствует местоположение моих двоичных файлов для команд bash. С чего бы это, и как я могу избежать этого?
Нормальное соединение: ssh root @ host Возвращает PATH env из
PATH = '/ SBIN:/ USR / SBIN:/ Proc / загрузки'
Команда ssh для выполнения команды, но не подключенная к терминалу (ssh root @ host ls), выдает «ls: команда не найдена». При дальнейшей проверке переменная окружения PATH отсутствует /proc /boot и, следовательно, отсутствует местоположение двоичного файла ls.
Окружение PATH этого «нетерминального» сеанса дает:
PATH = '/ USR / SBIN:/ SBIN'
но НЕ /proc /boot, поэтому он не может вызывать стандартные действия, такие как ls, mkdir и т. д.
Почему это? Как я могу получить свой правильный PATH, просто выполняя команду через SSH, но не подключаясь напрямую к отображаемому терминалу?