2013-06-27 85 views
0

我正在尝试编写一个部署脚本,该脚本将采用我需要在远程计算机上运行的命令,然后在远程计算机上运行它。我所设想的东西如下:将参数传递给要在ssh内执行的shell脚本

./DeployAndRunScript.sh "java -jar runmyjar.jar -t args &" 

在我DeployAndRunScript.sh,最后一行是:

ssh -i $pemfile $targetmachine "java -jar $runcommandhere" 

我想知道,这将是一种方式来获得从参数命令行写入"runcommandline"别名并在脚本中执行它?

回答

2

要获取shell脚本中的参数,您可以键入[email protected]。以更进了一步,你可以简单地在最后一行改为

ssh -i $pemfile $targetmachine "[email protected]"

(编辑:加引号[email protected],漂亮的抓Barmar)

您可以用$1取代[email protected],如果你知道该命令将是用引号括起来的第一个参数。

+1

它应该是'“$ @”'。把报价放在它上面会使shell重新引用一切。 – Barmar

相关问题