尊敬的同事,For循环遍历IP和主机名
我正在寻找更好的庆典方式/方法创建一个循环,以适应我的要求,我有一个命令被称为“ldaphost”其中一个IP地址分配给具有以下提供的syntex的主机。
例子:
$ ldaphost --insert "192.168.1.1 mytestvm1"
虽然我在下面的for循环这是工作,我作为一个变通截至目前,另外寻找与bash或外壳相同的专家,更好的巧妙的解决办法。
要求是:
我有一个IP范围192.168.1.1
到192.168.1.254
和相同的格式主机名作为mytestvm1
到mytestvm254
其中我加入到我下面的脚本。
#!/bin/bash
for ip in {1..254}
do
ldaphost --insert "192.168.1.${ip} mytestvm${ip}"
done
还有一两件事我想知道,如果我们可以作为预答案添加密码进入剧本,因为这是询问密码在每个迭代上..
bash-4.1$ cat reservHost.sh
#!/bin/bash
for ((i = 13 i <= 15; i++)); do
ldaphost --insert "1192.168.1.$i mytestvm$i"
done
bash-4.1$ ./reservHost.sh
Password:
Inserted: 192.168.1.13 mytestvm13
Password:
Inserted: 192.168.1.14 mytestvm14
你能澄清你的问题是什么吗? – Chiru
我真的不认为有一个更好的方法是不完全不可读和可维护的。您提供的代码似乎与其将要获得的一样好。不错的工作! –
@Chiru我期待着如果在bash中有更好的方法来实现我创建的同一个脚本。可能在数组中有IP和主机名等值,我只是学习者。 – krock1516