我在远程机器上安装了一个java程序Desktop/testfolder/xyz.jar。使用shell脚本的远程机器上的多个命令
它在同一个文件夹上也有一个配置文件。当我SSH到机器,我做的:
"ssh [email protected] java -cp Desktop/testfolder/xyz.jar Main"
这里的问题是配置文件不在路径,因为我们是在主文件夹,所以我的程序不能电文读出的配置。
所以我想先进入该文件夹,然后从该文件夹运行程序。 在一个shell脚本,如果我这样做
"ssh [email protected] cd Desktop/testfolder"
"java -cp xyz.jar Main"
它执行的第一个语句和运行第二个语句当它运行我目前的机器不能在远程机器上。
我们可以只做一个命令,或者有其他解决方案吗?
谢谢 Lalith
感谢您的评论帮助! – Lalith 2010-10-16 19:06:25
不客气! Trey和我的答案在命令的第一部分“工作”时做了同样的事情 - 如果第一部分失败,带有&&的版本不执行命令的第二部分。例如,比较'ssh [email protected]“cd/non-existant; ls -l”'到'ssh [email protected]“cd/non-existant && ls -l”'。在第一种情况下,你仍然可以从'ls -l'命令得到一些输出(即使'cd'失败 - 可能是你的用户的主目录),在后一种情况下,'ls -l'命令是由于第一个*操作数*返回* false *而被忽略。 – Robin 2010-10-16 21:03:48
感谢'&&'提示。很有用 – 2011-01-06 12:27:48