我正在尝试编写一个部署脚本,该脚本将接受我需要在远程计算机上运行的命令,然后在远程计算机上运行它。我想象的是如下:
./DeployAndRunScript.sh "java -jar runmyjar.jar -t args &"
在我的DeployAndRunScript.sh中,最后一行是:
ssh -i $pemfile $targetmachine "java -jar $runcommandhere"
我想知道,将命令行中的参数转换为"runcommandline"
别名并在脚本中执行它的方法是什么?
答案 0 :(得分:2)
要在shell脚本中获取参数,可以键入$@
。更进一步,您只需将最后一行更改为
ssh -i $pemfile $targetmachine "$@"
(编辑:在$@
附近添加引号,很好地捕捉Barmar!)
如果您知道该命令将是引号中包含的第一个参数,则可以将$@
替换为$1
。