有一系列命令:
- cmd1
- cmd2
- cmd3
现在你必须这样做:
- ssh -o StrictHostKeyChecking=no -p $SSH_PORT $SSH_USER@$SSH_HOST "cmd1 && cmd2 && cmd3"
想要这样的东西:
- ssh -o StrictHostKeyChecking=no -p $SSH_PORT $SSH_USER@$SSH_HOST
- cmd1
- cmd2
- cmd3
有一系列命令:
- cmd1
- cmd2
- cmd3
现在你必须这样做:
- ssh -o StrictHostKeyChecking=no -p $SSH_PORT $SSH_USER@$SSH_HOST "cmd1 && cmd2 && cmd3"
想要这样的东西:
- ssh -o StrictHostKeyChecking=no -p $SSH_PORT $SSH_USER@$SSH_HOST
- cmd1
- cmd2
- cmd3
你可以有一个脚本
remote-commands.sh
,通过上传到远程主机scp
,然后通过ssh
2.
remote-ssh
然后在
gitlab-ci.yml
诚然,转义引号和管道会有细微差别
当然,这是不可能的。
但是如果你在一个单独的变量中取出命令列表,你可以“喜欢这个”,其值将包含换行符,因此,在从标准输入读取列表时,解释器将正确理解(例如,
sh
)(由于 option 的存在)精确地作为一组单独的命令:-
这里的“技巧”是使用存储换行符的块文字。
|