我刚接触shell脚本并遇到一些麻烦。
我试图从本地计算机执行远程脚本。本地机器上的脚本传递了四个参数,它执行以下行:
ssh $STACK 'bash -l -c "./deploy_intermediate.sh $2 $3 $4"'
然而,我不能得到$ 2,$ 3和$ 4来推出传递的参数。有没有办法在单引号内访问它们?执行上述行的最佳方法是什么。
我真的很感激任何帮助。
感谢。
答案 0 :(得分:1)
要传递您必须写的参数:
ssh $STACK 'bash -l -c "./deploy_intermediate.sh '$2 $3 $4'"'
因此,您可以为$i
值进行扩展。然而,我认为你可能只需运行就可以得到相同的结果:
ssh $STACK "./deploy_intermediate.sh $2 $3 $4"
答案 1 :(得分:1)
诀窍是:
ssh -i ~/.ssh/$GIT_PRIVKEY user@$IP "bash -s" < localpath/script.sh $arg1 $arg2