gpt4 book ai didi

bash - 转义单引号 ssh 远程命令

转载 作者:行者123 更新时间:2023-11-29 09:01:41 36 4
gpt4 key购买 nike

我阅读了任何通过 ssh 远程命令转义单引号的解决方案。但是任何工作都可以。

我在努力

ssh root@server "ps uax|grep bac | grep -v grep | awk '{ print $2 }' > /tmp/back.tmp"

不要工作 awk

ssh root@server "ps uax|grep bac | grep -v grep | awk \'{ print $2 }\' > /tmp/back.tmp"
....
awk: '{
awk: ^ caracter ''' inválido en la expresión

并尝试在命令上设置单个配额,但也不起作用。

帮助帮助

最佳答案

ssh 命令将主机名后键入的所有文本视为要执行的远程命令。至关重要的是,这对你的问题意味着你不需要像你所做的那样引用整个命令。相反,您可以像在远程系统上一样直接发送命令,就好像您在远程系统上一样。

这简化了引用问题的处理,因为它减少了您需要使用的引用数量。由于您不会使用引号,因此所有特殊的 bash 字符都需要使用反斜杠进行转义

在你的情况下,你需要输入,

ssh root@server ps uax \| grep ba[c] \| \'{ print \$2 }\' \> /tmp/back.tmp

或者您可以将单引号双引号而不是转义它们(在这两种情况下,您都需要转义美元符号)

ssh root@server ps uax \| grep ba[c] \| "'{ print \$2 }'" \> /tmp/back.tmp

老实说,这感觉有点复杂,但我发现在处理向涉及更复杂的引号使用的远程系统发送命令时,这些知识非常有值(value)。

关于bash - 转义单引号 ssh 远程命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15567847/

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