У меня есть пользователь, который не вносил никаких изменений в $ PATH в любых точечных файлах: это точно настройка системы по умолчанию. Из оболочки входа в систему:
$ ssh example.com
user@example.com:~$ cat /tmp/hello.hs
#!/bin/bash
echo "$SHELL"
echo "$PATH"
user@example.com:~$ /tmp/hello.hs
/bin/bash
/usr/local/bin:/usr/bin:/bin
Точно так же, как указано в /etc/profile
. Это я нахожу довольно неожиданным:
$ ssh example.com '/tmp/hello.sh'
/bin/bash
/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
Как я уже сказал, в $ PATH нет ни изменений ~/.bashrc
, ни изменений /etc/bash.bashrc
. Нет ~/.ssh/environment
тоже. ssh(1)
Заявляет , что переменная среды PATH
является
Установите значение PATH по умолчанию, как указано при компиляции ssh.
но этот поток из StackOverflow и статья в списке рассылки предполагают, что я должен иметь возможность влиять на $ PATH для данной команды, просто изменив / etc / profile, один из файлов запуска оболочки и т. д.
Что тут происходит?