【发布时间】:2018-01-19 14:49:02
【问题描述】:
我正在尝试使用 ssh 将命令传递给远程服务器。虽然我的命令有一些字符,如"、$、'、\,除了'(单引号)之外,通常需要反斜杠作为转义字符,但系统会自动使用转义字符@ 987654326@ 在执行时单个代码之前。有人可以帮助我如何关闭它。
操作系统: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)}\'"
我需要关闭此功能
【问题讨论】:
-
你是说你的第一个命令不起作用?
-
你有没有在
set -vx开启的情况下进行shell调试?如果是这样,这种行为是正常的。否则我很想知道你是如何“看到”这个问题的,也许编辑你的 Q 以展示我们如何也能看到同样的事情?祝你好运。
标签: linux bash awk ssh escaping