今天在写shell脚本的时候碰到一个问题,利用while循环读取配置文件中的ip地址 然后ssh远程到该ip下,碰到了一个问题,当while一次循环结束的时候就跳出了循环,不再进行下一次循环。
代码示例:
while read content
do
echo $content
ssh 10.137.13.194 "cd /home"
done < modelList
解决方案1:ssh后放入垃圾箱
while read content
do
echo $content
ssh 10.137.13.194 "cd /home" > /dev/null < /dev/null 2>&1
done < modelList
解决方案2:利用for循环代替while循环
num=`cat modelList | wc -l ` for ((i=1;i<=$num;i++ )) do { row="${i}p" content=`cat modelList |sed -n $row ` ip=`echo "$content" | awk '{print $1}'` model=`echo "$content" | awk '{print $2}'`
} donesh 10.137.13.194 "cd /home"