嗨,我是bash脚本的新手。 这是我的脚本在这个我使用while循环这是工作,直到输入ping服务器文件中的ips但进一步我想使用那些ips来制作每个IP的文件如下我正在做但它有一些问题我认为必须在它的循环中更多。但它没有工作它只需要一个IP作为输入,并使唯一的一个文件,并进一步添加所需的文件,它不工作的整个输入让我们说文件中只有5个ips它只生成第一个IP文件。
#!/bin/bash
l2=$(tail -1 /root/serverfile | grep hadoop | tr ' ' '\n' | grep hadoop)
awk '{print $1}' < serverFile.txt | while read ip; do
if ping -c1 $ip >/dev/null 2>&1; then
cd /usr/local/nagios/etc/objects/Hadoop
cp Hadoop-node.cfg $l2.cfg
sed -i 's/192.168.0.1/'$ip'/' $l2.cfg
sed -i 's/Hadoop-node/'$l2'/' $l2.cfg
echo "cfg_file=/usr/local/nagios/etc/objects/Hadoop/$l2.cfg" >> /usr/local/nagios/etc/nagios.cfg
service nagios restart
echo " Node is added successfull"
echo $ip IS UP
else
echo $ip IS DOWN NOT PINGING
fi
done