for循环 while循环语句 case 循环 until循环语句

根据标量的不同取值,重复执行一组命令操作。
for循环语句的格式
for 变量名 in 取值列表
do
命令序列
done
取值列表可以是变量 也可以是文件的通配符

范例一
#!/bin/bash
for x in /var/log/*
do
echo $(basename $x) is a file living in /var/log
done

范例二(下例是本人写的关于年龄判断的脚本 用了两种不同的逻辑表达形式)
read -p "hello,sir.Input your age here,sir. :" age
if [ $age -lt 18 ];
then
echo "you are sitll a baby"
elif [ $age -ge 18 ] && [ $age -lt 30 ];
then
echo "you are an teenager"
elif [ $age -ge 30 -a $age -le 50 ];
then
echo "you are an adult"
else
echo "you are a old man"
fi

###################
while
重复测试指令的条件,只要条件为真则反复执行对应的命令操作,直到条件为假。如果使用true作为循环条件能够产生无限循环。

while 命令表达式
do
命令列表
done

#范例
#!/bin/bash
#批量添加20个系统账户用户名依次为user1~20
i=1
while [ $i -le 20 ]
do
useradd user 1 e c h o " 123456 " ∣ p a s s w d − − s t d i n u s e r 1 echo "123456" | passwd --stdin user 1echo"123456"passwdstdinuseri &> /dev/null
i=`expr $i + 1`
done

#####case多重分支语句
case 变量值 in
模式1)
命令序列1
;;
模式2)
命令序列2
;;
……
*)
默认执行的命令序列
;;
esac

如下为范例
#!/bin/bash
case $1 in
start)
echo “start mysql”
;;
stop)
echo “stop mysql”
;;
*)
echo “usage: $0 start|stop”
;;
esac
####################
until循环语句
根据条件执行重复操作,直到条件成立为止。Until语句提供了与while语句相反的功能:只要特定条件为假,它们就重复循环,直到条件为真。
until 条件测试命令
do
命令序列
done

范例
#!/bin/bash
myvar=1
until [ $myvar -gt 10 ]
do
echo $myvar
myvar=$(( $myvar + 1 ))
done

参考学习页面
http://man.linuxde.net/shell-script/shell-5

猜你喜欢

转载自blog.csdn.net/tang3827738w/article/details/93877678