Ubuntu echo$PATH在同一帐户上从不同环境登录时不显示所有路径
当我将echo$PATH作为root从两个不同的场景运行到同一台服务器时,我得到了不同的结果 首先,我通过安装kitchen的根目录进行ssh。我打字的时候Ubuntu echo$PATH在同一帐户上从不同环境登录时不显示所有路径,ubuntu,assembla,Ubuntu,Assembla,当我将echo$PATH作为root从两个不同的场景运行到同一台服务器时,我得到了不同的结果 首先,我通过安装kitchen的根目录进行ssh。我打字的时候 $ which kitchen $ usr/local/rvm/gems/ruby-2.1.2/bin/kitchen $ echo $PATH 我可以看到它正确地列在最后 /usr/local/rvm/gems/ruby-2.1.2/bin:/usr/local/rvm/gems/ruby-2.1.2@global/bin:/usr/l
$ which kitchen
$ usr/local/rvm/gems/ruby-2.1.2/bin/kitchen
$ echo $PATH
我可以看到它正确地列在最后
/usr/local/rvm/gems/ruby-2.1.2/bin:/usr/local/rvm/gems/ruby-2.1.2@global/bin:/usr/local
/rvm/rubies/ruby-2.1.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games:/usr/local/games:/usr/local/rvm/bin:
/usr/local/rvm/gems/ruby-2.1.2/bin/kitchen
我正在使用assembla主机运行SSH脚本,并指定root和何时运行
$ which kitchen
$ Process exited with: 1. Reason was: ()
$ echo $PATH
$ /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:
/usr/games:/usr/local/games
使用Ubuntu 14.04
我想知道,如果可能的话,如何在从汇编帐户运行时获得与通过终端登录时相同的输出
谢谢,这很可能是拥有交互式shell和没有交互式shell之间的区别 根据您的设置,将读取不同的环境文件,请查看您的.bashrc或.profile 从bash手册页: Bash试图确定何时使用其标准输入运行它 连接到网络连接,就像由远程shell守护程序连接一样, 通常是rshd或安全shell守护程序sshd。如果猛击 确定以这种方式运行时,它将读取并执行命令 来自~/.bashrc,如果该文件存在且可读 基本上,运行'grep-r kitchen~/.*来确定哪个文件正在将kitchen添加到PATH变量中,然后您将能够确定在使用非交互式终端进行ssh时是否正在读取该文件 您也可以在运行脚本之前设置路径: 导出路径=/usr/local/rvm/gems/ruby-2.1.2/bin/kitchen:${PATH}
另外,在您的输出中,您的PATH变量似乎有一个换行符,它不应该出现。谢谢您的帮助,为我指明了一个好的方向。最后,我在脚本开始时放置了source/etc/profile,并开始运行。