标签:格式 目录文件 必须 分支 blog 否则 返回 cas letter
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 或 ! 非
标签:格式 目录文件 必须 分支 blog 否则 返回 cas letter
原文地址:http://www.cnblogs.com/sunada2005/p/7726192.html