gpt4 book ai didi

bash - 如何转义 ssh/remote bash 命令中的单引号字符?

转载 作者:行者123 更新时间:2023-11-29 16:45:52 31 4
gpt4 key购买 nike

我正在构建一小组用于远程启动、停止和检查进程状态的脚本。这些脚本的 stop 应该查找进程并终止它。因此我这样做:

ssh deploy@hera 'kill -9 `ps -ef | grep MapReduceNode | grep -v "grep" | awk -F " " '{print $2}' | head -n 1`'

这里的问题是 awk 标记化步骤需要单引号,并且这些与用于通过 ssh 执行远程命令的单引号发生冲突。如何转义这些单引号?

最佳答案

使用

ssh deploy@hera 'kill -9 `ps -ef | grep MapReduceNode | grep -v "grep" | awk -F " " '"'"'{print $2}'"'"' | head -n 1`'

说明:

ssh deploy@hera 'kill -9 `ps -ef | grep MapReduceNode | grep -v "grep" | awk -F " " '"'"'{print $2}'"'"' | head -n 1`'
> 1 <>2<> 3 <>4<> 5 <

1) 以命令开头的第一个字符串:'kill -9 `ps -ef | grep MapReduceNode | grep MapReduceNode | grep MapReduceNode grep -v“grep”| awk -F“”'

2) 仅包含一个 ' 字符的第二个字符串:"'"

3) 带有打印命令的第三个字符串:'{print $2}'

4) 第四个字符串带有另一个单引号:"'"

5) 第五个字符串以及命令的其余部分:' |头-n 1`'

关于bash - 如何转义 ssh/remote bash 命令中的单引号字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53113296/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com