我想运行这个sed:
sed "s?\(Defaults.*\)?\1:/etc/bla/foo/?" filename但是失败了,在运行错误代码1时退出,如下所示:
pssh -h /root/listofservers -l root -A "sed "s?\(Defaults.*\)?\1:/etc/bla/foo/?" filename"发布于 2018-05-22 11:41:52
pssh有以下用法概要:
pssh [options] command ...也就是说,不要引用要在远程主机上执行的命令(否则它会将整个引用的命令作为命令的名称)。此外,单引号字符串是静态的,如sed表达式。
建议:
pssh -h /root/listofservers -l root -A sed 's#\(Defaults.*\)#\1:/etc/bla/foo/#' filename我还将?更改为#,因为?是正则表达式字符。这里不会有什么不同,但当我试图解析表达式时,它使我感到很困惑。
https://unix.stackexchange.com/questions/445321
复制相似问题