我有一个用户未对任何点文件中的$ PATH进行任何修改:这正是系统默认设置。从登录shell:
$ 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的该线程和此邮件列表文章建议我只需修改/ etc / profile,shell启动文件之一等,就应该能够影响给定命令的$ PATH。
这里发生了什么?