咨询个复杂的linux命令。

[复制链接]
查看: 4448   回复: 9
发表于 2022-5-5 23:45:31 | 显示全部楼层 |阅读模式
我用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\”  ”
回复

使用道具 举报

发表于 2022-5-5 23:46:00 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:46:17 | 显示全部楼层
帮顶
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:46:22 | 显示全部楼层
你这怎么是全角符号
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:46:56 | 显示全部楼层
这个其实不难 你只需要把这个 .....移动到哪里 再把 ..... 移动到这里 最后就可以了!
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:47:21 | 显示全部楼层
需要转义两次

直接翻译应该是这样的:
  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 看看那个参数不对改那个很容易
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:47:33 | 显示全部楼层
用良心云 套路云的 devops 吧 挺好用的
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:48:13 | 显示全部楼层
linux新手,多谢,等下我试试。extrace  没研究过。
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:49:12 | 显示全部楼层
单引号里面 都不转义
回复 支持 反对

使用道具 举报

发表于 2022-5-5 23:49:46 | 显示全部楼层
关键是双引号里面的单引号里面的双引号
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则