假设有 3 个主机名为 host1 、host2、host3 我想使用 sed(但 perl、awk 也可以)使用 ssh 替换文件 /etc/FAKEFILE 上的字符串 5801,对每个主机使用 +1。必须在主机 1 上返回 5802 在主机 2 上返回 5803 在主机 3 上返回 5804 谢谢
答案1
#!/bin/bash
N1=5801
N2=5801
for i in 1 2 3
do
N2=$((N2 + 1))
CMD="sed -i 's/${N1}/${N2}/' /tmp/file"
echo "running $CMD on host$i..."
ssh user@host$i "$CMD"
done