脚本中case 语句的格式
case var in var:变量 var_value:变量取值 var_value1) statement1 ;; var_value2) statement2 ;;*) ------其他任意值 statement;; esac case语句中当var在var_value中获得到正确的结果是就退出case语句,下面statement不再执行循环控制语句:
for循环语句 for 变量 in 列表;do statement()循环体 done注意:for循环的条件是变量在列表中可以取到值,否则将不执行 循环体语句,同样for循环也可以嵌套使用
for循环的列表表示方法: 1:可以是 {起始值..结束值} 2:可以使用`seq 起始值 结束值` 3:还可以是命令(命令的执行可以得到一个列表) 例如:计算1到5之间的整数的和
#!/bin/bash declare -i sum=0 for i in {1..5};do sum=$[$sum + $i]
done echo $sum 同样可以写成这样子
for i in `seq 1 5`;do sum=$[$sum + $i]
done echo $sum for i in `ls /root`;do if [ -f $i ];then
echo "$i is file"
elif [ -d $i ];then
echo "$i is directory"
else
echo "$i cann't identification"
fi
done
while循环语句
格式: while 条件;do statemnt(循环体) done注意 1:while循环是在条件满足时进入循环,当条件不满足时退出循环体
2:循环体中须有让循环体自动的去判断条件语句的条件,否则循环将陷入死循环或者达不到我们预期的目的 3:条件可以是个命令或者条件表达式
例如:
declare -i sum=0 declare -i i=1 while [ $i -le 5 ];do sum=$[$sum + $i] let i++ done echo $sum另外wile语句的强大的例子
while read line;do
statement
done < 文件
例如:
while read line;do cut -d: -f1 done < /etc/passwd until循环语句格式
until 条件;do statement doneuntil循环的条件是当条件不满足是就循环,满足是就退出
read -p "please input your choice:" CHOICE until [ "$CHOICE" = 'q' -o "$CHOICE" = 'Q' ];do echo "this is example" read -p "please input your choice:" CHOICE done break语句和continue语句
break 和continue常常和其他循环语句一起嵌套使用
说明:break 是直接退出循环体,而continue是退出本次循环直接进入下一次的循环。
函数