如何在Linux中关闭自动添加转义字符功能

时间:2018-01-19 14:49:03

标签: linux bash awk ssh escaping

我正在尝试使用ssh将命令传递给远程服务器。虽然我的命令包含"$'\等字符,但除'(单引号)外,通常需要使用反斜杠作为转义字符,但是系统在执行时会在单个代码之前自动获取转义字符\。有人可以帮我解决这个问题。

操作系统:RHEL

我的代码:

ssh -q $server "ps -ef | grep mongo | grep conf | awk '{print \$(NF-2)}'

执行时,代码变为

ssh -q $server "ps -ef | grep mongo | grep conf | awk \'{print $(NF-2)}\'"

我需要关闭此功能

1 个答案:

答案 0 :(得分:1)

您的分析并不正确。无论如何,没有特别的理由远程运行Awk,或者grep在这里(因为Awk通过非常小的重构很好地和有效地完成了所有这些):

ssh -q "$server" ps -ef |
# This runs locally instead
awk '/mongo/ && /conf/ {print $(NF-2)}'