将参数传递给要在ssh中执行的shell脚本

时间:2013-06-27 01:37:40

标签: linux bash shell

我正在尝试编写一个部署脚本,该脚本将接受我需要在远程计算机上运行的命令,然后在远程计算机上运行它。我想象的是如下:

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

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

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

我想知道,将命令行中的参数转换为"runcommandline"别名并在脚本中执行它的方法是什么?

1 个答案:

答案 0 :(得分:2)

要在shell脚本中获取参数,可以键入$@。更进一步,您只需将最后一行更改为

即可

ssh -i $pemfile $targetmachine "$@"

(编辑:在$@附近添加引号,很好地捕捉Barmar!)

如果您知道该命令将是引号中包含的第一个参数,则可以将$@替换为$1