Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell SSH登录为$PATH提供不同的值_Shell_Ssh_Visual Studio Code_Putty - Fatal编程技术网

Shell SSH登录为$PATH提供不同的值

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

我使用相同的用户名和密钥文件连接到同一个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/.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代码终端在连接后自动登录