Shell的for循环
for循环对于批量管理服务器非常有用
for默认以所有的空白字符进行分隔:tab、空格、回车,去循环处理
for循环语法,分隔成几段就循环几次
for line in xxx yyy zzz; do
#循环处理每个字符串,循环三次
done
输出jackin001到jackin100
for line in $(seq -w 100);do
echo "jackin$line"
done
一个字符串一个字符串处理
for name in jackin justdoit xiaozhuang;do
echo "name is $name"
done
循环读取文件中的每一行,输出结果有问题
for line in $(cat /etc/passwd);do
echo "read it. line is $line"
done
怎么样解决上述问题?需要改变IFS内置变量
OLDIFS=$IFS
IFS=$'\n'
for line in $(cat /etc/passwd);do
echo "read it. line is $line"
done
IFS=$OLDIFS
应用:使用for循环批量判断包是否已安装
for softpack in wget gcc pcre pcre-devel zlib zlib-devel;do
soft_result=$(rpm -qa $softpack)
if [ -z "$soft_result" ];then
yum install -y $softpack
else
echo "$softpack is installed"
fi
done
更多推荐
shell编程——Shell脚本之for循环
发布评论