嘟嘟社区

咨询个复杂的linux命令。


我用github action集成,想把项目发布到良心云北京,但是太慢,要1小时,我就先使用drone-ssh 发布到了我的美国服务器,1分钟完成,然后我这个美国发到我这个北京就很快,但是有个问题就是下面的命令有双引号和单引号的问题

drone-ssh –script “drone-ssh –script “ps -ef|grep ‘dotnet test.dll’|grep -v grep|grep -v PPID|awk ‘{ print "kill -9 "$2}’|sh”  ”
我如果尝试下面这个方法还是有点问题,就是kill -9 两边的双引号有问题
drone-ssh –script “drone-ssh –script “ps -ef|grep ‘dotnet test.dll’|grep -v grep|grep -v PPID|awk ‘{ print "kill -9 "$2}’|sh”  ”

我如果尝试下面把这个也转义,还是有问题,大概逻辑就是github action 连接服务器A,发布文件到这个A上面,然后通过github action 服务器在A执行代码,连接服务器B,再执行脚本发布到B上面。 ,这两层脚本里面的双引号不会咋处理呢
drone-ssh –script “drone-ssh –script “ps -ef|grep ‘dotnet test.dll’|grep -v grep|grep -v PPID|awk ‘{ print "kill -9"$2}’|sh”  ”

帮顶                     
帮顶
你这怎么是全角符号
这个其实不难 你只需要把这个 …..移动到哪里 再把 ….. 移动到这里 最后就可以了!
需要转义两次

直接翻译应该是这样的:

  1. drone-ssh –script "drone-ssh –script \"ps -ef | grep ‘dotnet test.dll’ | grep -v grep | grep -v PPID | awk ‘{ print \"kill -9\"$2}’ | sh\""

复制代码

遇到转义问题,开个 extrace 看看那个参数不对改那个很容易

用良心云 套路云的 devops 吧 挺好用的