我有一个运行正常的命令,如果我ssh到一台机器并运行它,但当我尝试使用远程ssh命令运行它时失败,如:
ssh user@IP <command>
Run Code Online (Sandbox Code Playgroud)
使用两种方法比较"env"的输出在不同环境中重新进行.当我手动登录到机器并运行env时,我运行时会获得更多的环境变量:
ssh user@IP "env"
Run Code Online (Sandbox Code Playgroud)
知道为什么吗?
我似乎无法设置一个新的$ PATH,以便在执行命令时使用它ssh user@host command.我已经尝试export PATH=$PATH:$HOME/new_path在远程机器上添加〜/ .bashrc和〜/ .profile,但是执行ssh user@host "echo \$PATH"表明没有获取更改(它显示/ usr/local/sbin:/ usr/local/bin:/ usr/sbin目录:在/ usr/bin中:/ sbin目录:/ bin中:在/ usr /游戏).远程计算机正在运行Ubuntu 8.04.
我确信我可以将其破解到/ etc/profile中,但这不是一个干净的解决方案,只有在具有root访问权限时才有效.