我在远程计算机上有一个java程序Desktop / testfolder / xyz.jar。
它在同一文件夹中也有一个配置文件。当我SSH到机器时,我做:
"ssh user@remote java -cp Desktop/testfolder/xyz.jar Main"
这里的问题是配置文件不在路径中,因为我们在主文件夹中,所以我的程序无法读取配置。
所以我想首先进入该文件夹然后从该文件夹运行该程序。 在shell脚本中,如果我这样做
"ssh user@remote cd Desktop/testfolder"
"java -cp xyz.jar Main"
它执行第一个语句,当第二个语句运行时,它在我当前的机器而不是远程机器上运行。
我们可以只执行一个命令,还是有其他任何解决方案?
谢谢你, Lalith
答案 0 :(得分:42)
尝试这样的事情:
ssh you@yours.com "cd /home && ls -l"
答案 1 :(得分:16)
您可以尝试用分号分隔命令:
ssh user@remote "cd Desktop/testfolder ; java -cp xyz.jar Main"
答案 2 :(得分:4)
如果您想将命令分成多行以便于阅读,您还可以将命令列表传递给bash
命令,如下所示:
ssh user@remote.host bash -c "'
cd Desktop/testfolder
java -cp xyz.jar Main
'"