0

这里的任何人都使用 pssh 来修改文件,我已经尝试过这样的尝试;

while read line; 
do 
pssh --inline-stdout -H "$line" "hostname;
sudo sed -i \'s/search domain123.local/search domain123.local domain456.local/g\' /etc/resolv.conf;
sleep 1"; 
done < <(cat listOfIPs.txt)

尽管 pssh 返回 Success 状态,但它并没有修改实际主机上的 resolv.conf - 我是否在 pssh 或 sed 命令中遗漏了一些明显的东西?

谢谢!

4

1 回答 1

0

我发现通过在 sed 部分中将引号从单引号更改为双引号,它似乎可以解决它:

while read line; 
do 
pssh --inline-stdout -H "$line" "hostname;
sudo sed -i \"s/search domain123.local/search domain123.local domain456.local/\" /etc/resolv.conf;"; 
done < <(cat listOfIPs.txt)

而且我也删除了,/g但我认为这并没有真正产生差异

于 2020-08-27T08:55:33.253 回答