增量替换脚本

增量替换脚本

我有4台机器,每台机器(centos)都有一个具有相同IP地址10.0.0.3的ifcfg-bond1 如何使用bash和sed用增量值替换10.0.0.3?我想获得这样的东西

machine1        -> 10.0.0.1
machine2        -> 10.0.0.2
machine3        -> 10.0.0.3
machine4        -> 10.0.0.4

我在 ssh 上尝试过使用 let 和 bash 的脚本,但对于所有机器我得到 10.0.0.2(使用 let+1)

for i in machine{1..4};do ssh $i "var=1;export var;let var=var+1;echo 10.0.0.$var";done

有什么建议吗?谢谢

答案1

for i in {1..4};do ssh machine$i "echo 10.0.0.$i";done

在这段代码中,我将数字分开的时间更长一些:我只有数字,没有单词机器。然后我用它来创建ssh用于回显的机器地址。

答案2

我尝试更好地解释,我有五台机器,我想将我尝试过的变量加一 ssh -t

for i in eracle{1..5};do ssh -t $i 'var="1";export var;var=$((var + 1));echo $var';done
2
Connection to eracle1 closed.
2
Connection to eracle2 closed.
2
Connection to eracle3 closed.
2
Connection to eracle4 closed.
2
Connection to eracle5 closed.

我想获得2,3,4,5。

相关内容