ade*_*rtc 2 ssh bash scala sbt
所以我试图做一些涉及运行sbtSSH命令的事情,这就是我正在尝试的事情:
ssh my_username@<server ip> "cd <project folder>; sbt 'run-main Foo' "
Run Code Online (Sandbox Code Playgroud)
但是当我这样做时,我收到一条错误消息: bash: sbt: command not found
然后我自己进入服务器SSH,cd到项目文件夹,然后运行sbt 'run-main Foo',一切运行良好.我已检查以确保通过远程服务器sbt上的$PATH变量ssh my_username@<server ip> "echo $PATH",它显示正确的值.
我觉得这是一个简单的修复,但无法弄清楚...帮助?谢谢!-kstruct
登录时,bash作为交互式shell运行.直接运行命令时ssh,bash作为非交互式shell运行,因此会生成不同的初始化文件(请参阅bash手册页,确切地说).有很多方法可以解决这个问题,例如:
sbt直接通过它来调用它ssh.bashrc并将缺少的目录添加到PATH环境变量中请注意,由于双引号,您的测试ssh my_username@<server ip> "echo $PATH"实际上会打印PATH在您的客户端上,而不是您的服务器上.使用ssh my_username@<server ip> 'echo $PATH'或从服务器环境ssh my_username@<server ip> env打印PATH.检查使用时env,您将看到PS1仅在交互式shell中设置.
| 归档时间: |
|
| 查看次数: |
1576 次 |
| 最近记录: |