我有一个用户未对任何点文件中的$ 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。
这里发生了什么?