while 结束 关键词 属性 cas 控制 字符 spa else
if
- if 条件表达式;then #当条件为真时执行以下语句
- 命令列表
- else #为假时执行以下语句
- 命令列表
- fi
- if语句也可以嵌套使用
- if 条件表达式1;then
- if 条件表达式2;then
- 命令列表
- else
- if 条件表达式3;then
- 命令列表
- else
- 命令列表
- fi
- fi
- else
- 命令列表
- fi
- if test -f "$1" ;then
- lpr $1
- elif test -d "$1";then #elif同else if
- (cd $1;lpr $1)
- else
- echo "$1不是文件或目录"
- fi
- case $newval in
- 1) #这里是可能值1
- echo 1
- ;; #表示第一个分支结束
- 2) #这里是可能值 2
- echo 2
- ;; #第二个分支结束
- *) #表示其他可能值,必须在最后,否则他后面的语句无法执行
- echo unkown
- esac #case 语句结束
- while 表达式
- do
- 命令列表
- done
- Sum=0
- i=0
- while true #true是系统的关键词 表示真
- do
- i=`expr $i + 1`
- Sum=`expr $Sum + $i`
- if [ $i = "100" ]; then
- break;
- fi
- done
- echo $i $Sum
- 最后这个程序显示的是 100 5050
下面将这个程序再改动一下
- Sum=0
- i=0
- while [ $i != "100" ]
- do
- i=`expr $i + 1`
- Sum=`expr $Sum + $i`
- done
- echo $i $Sum
- 改动后的程序运算结果和上面是一样 但程序比上面的要简练
- 在这个循环中还可以以until做为测试条件 它正好与while测试的条件相反,也就是当条件为假时将继续执行循环体内的语句,否则就退出循环体,下面还用这个例子.
- Sum=0
- i=0
- until [ $i = "100" ]
- do
- i=`expr $i + 1`
- Sum=`expr $Sum + $i`
- done
- echo $i $Sum
- 当i不等于100时循环 就是当条件为假时循环,否则就退出,而第一个例子是当i不等于100
- 时循环,也就是测试条件为真时循环.
for
- for 变量 in 名字列表
- do
- 命令列表
- done
- for n in {1..10}
- do
- echo $n
- done
- for letter in a b c d e;
- do
- echo $letter
- done
- for file in *
- do
- echo $file
- done
- for File in a1 a2 a3 a4 a5
- do
- diff aa/$File bb/$File
- done
- for (( i=1;$i<10;i++ ))
- do
- echo $i
- done
- for(( i=1;$i<10;i=$[`expr $i + 1`] ))
- do
- echo $i
- done
break 命令不执行当前循环体内break下面的语句从当前循环退出.
continue 命令是程序在本循体内忽略下面的语句,从循环头开始执行.
- 格式: - 操作符filename
- - e文件存在返回1,否则返回0 - r文件可读返回1,
- 否则返回0 - w文件可写返回1,
- 否则返回0 - x文件可执行返回1,
- 否则返回0 - o文件属于用户本人返回1,
- 否则返回0 - z文件长度为0返回1,
- 否则返回0. - f文件为普通文件返回1,
- 否则返回0 - d文件为目录文件时返回1,
- 否则返回0
- 字符串1 = 字符串2 当两个字串相等时为真
- 字符串1 != 字符串2 当两个字串不等时为真
- -n 字符串 当字符串的长度大于0时为真
- -z 字符串 当字符串的长度为0时为真
- 字符串 当串字符串为非空时为真
- 数字1 -eq 数字2 两数相等为真
- 数字1 -ne 数字2 两数不等为真
- 数字1 -gt 数字2 数字1大于数字2为真
- 数字1 -ge 数字2 数字1大于等于数字2为真
- 数字1 -lt 数字2 数字1小于数字2为真
- 数字1 -le 数字2 数字1小于等于数字2为真
- -a 与
- -o 或
- !非
shell编程中的控制判断语句
while 结束 关键词 属性 cas 控制 字符 spa else
原文:http://www.cnblogs.com/sunada2005/p/7726192.html
来源: http://www.bubuko.com/infodetail-2364826.html