shell while循环问题

来源:互联网 发布:mac生成 gitignore 编辑:程序博客网 时间:2024/06/05 07:29


今天在写shell脚本的时候碰到一个问题,利用while循环读取配置文件中的ip地址 然后ssh远程到该ip下,碰到了一个问题,当while一次循环结束的时候就跳出了循环,不再进行下一次循环。

代码示例:

while read contentdo    echo $content        ssh 10.137.13.194 "cd /home" done < modelList

解决方案1:ssh后放入垃圾箱

while read contentdo    echo $content        ssh 10.137.13.194 "cd /home"  > /dev/null < /dev/null 2>&1done < 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}'`        
sh 10.137.13.194 "cd /home"
} done





0 0