我把大部分时间花在服务器上。我有一系列允许我输入的别名/函数/脚本 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 是结构化的,所以shell应该找到正确的。如果我的 $PATH 设置不受尊重,我的脚本不起作用。有没有办法可以使用 $PATH 由我的定义 .bashrc / .bash_profile?
我相信 PermitUserEnvironment 被禁用。
.bashrc来源.bash_profile,和前两行.bash_profile出口PS1和PATH。