Shell SSH登录为$PATH提供不同的值
我使用相同的用户名和密钥文件连接到同一个Ubuntu服务器 当我通过Putty登录时,Shell SSH登录为$PATH提供不同的值,shell,ssh,visual-studio-code,putty,Shell,Ssh,Visual Studio Code,Putty,我使用相同的用户名和密钥文件连接到同一个Ubuntu服务器 当我通过Putty登录时,$PATH变量如下所示: echo $PATH /home/csrhub/.rvm/gems/ruby-2.3.7/bin:/home/csrhub/.rvm/gems/ruby-2.3.7@global/bin:/usr/share/rvm/rubies/ruby-2.3.7/bin:/usr/share/rvm/bin:/home/csrhub/.rbenv/shims:/home/csrhub/.rben
$PATH
变量如下所示:
echo $PATH
/home/csrhub/.rvm/gems/ruby-2.3.7/bin:/home/csrhub/.rvm/gems/ruby-2.3.7@global/bin:/usr/share/rvm/rubies/ruby-2.3.7/bin:/usr/share/rvm/bin:/home/csrhub/.rbenv/shims:/home/csrhub/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
当我通过VS代码登录时(远程SSH:连接到主机…$PATH
看起来不同:
~$ echo $PATH
/home/csrhub/.rbenv/bin:/home/csrhub/.rvm/gems/ruby-2.0.0-p648/bin:/home/csrhub/.rvm/gems/ruby-2.0.0-p648@global/bin:/usr/share/rvm/rubies/ruby-2.0.0-p648/bin:/home/csrhub/.vscode-server/bin/26076a4de974ead31f97692a0d32f90d735645c0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/usr/share/rvm/bin
而Ruby版本则不同
whoami
在两个(Putty和VS代码)上打印相同的内容。我还在同一个工作目录中运行两个echo
~/.bash\u rc
似乎已加载,因为在其中定义的别名可被两个shell识别
我希望看到VS代码终端$PATH
与通过Putty的终端外观相同
你知道这种差异来自哪里吗
*编辑*
我在检查外壳类型时发现了一个差异:
在VS代码上运行此命令:
shopt -q login_shell && echo 'Login shell' || echo 'Not login shell'
打印出:
不登录shell
在Putty上运行相同的命令时,打印输出:
登录shell
当我通过VS代码终端登录时,如下所示:
echo $PATH
/home/csrhub/.rvm/gems/ruby-2.3.7/bin:/home/csrhub/.rvm/gems/ruby-2.3.7@global/bin:/usr/share/rvm/rubies/ruby-2.3.7/bin:/usr/share/rvm/bin:/home/csrhub/.rbenv/shims:/home/csrhub/.rbenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
/bin/bash--login
,$PATH变量和行为(在两个终端之间)是相同的。所以现在的问题有点不同了:如何“强制”VS代码终端在连接后自动登录