主页 > 电脑硬件  > 

shell——分支语句

shell——分支语句

文章目录 基本语法常用判断条件(1)两个整数之间比较(2)按照文件权限进行判断(3)按照文件类型进行判断(4)多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令) if分支语句基本语法单分支判断:多分支判断 case 语句基本语法编写脚本

基本语法

(1)test condition (2)[ condition ](注意condition 前后要有空格) 注意:条件非空即为true,[ atguigu ]返回true,[ ] 返回false。

$?为0表示返回值为0,表示运算正确。

test $a -eq 6 echo $?

1

test $a -eq 5 echo $?

0

常用判断条件 (1)两个整数之间比较 -eq 等于(equal) -ne 不等于(not equal)-lt 小于(less than) -le 小于等于(less equal)-gt 大于(greater than) -ge 大于等于(greater equal) 注:如果是字符串之间的比较,用等号“=”判断相等;用“!=”判断不等。 [ $a -lt 8 ] echo $?

0

[ $a -gt 3 ] echo $?

0

[ $a -le 3 ] echo $?

1

(2)按照文件权限进行判断 -r 有读的权限(read)-w 有写的权限(write)-x 有执行的权限(execute) [ -r add.sh ] echo $?

0

[ -x test1.sh ] echo $?

1

(3)按照文件类型进行判断 -e 文件存在(existence)-f 文件存在并且是一个常规的文件(file)-d 文件存在并且是一个目录(directory) [ -e test1.sh ] echo $?

0

[ -f t ] echo $?

1

[ -d t ] echo $?

1

[ -f parameter.sh ] echo $?

0

(4)多条件判断(&& 表示前一条命令执行成功时,才执行后一条命令,|| 表示上一条命令执行失败后,才执行下一条命令) 类似于if else:表达式 ,满足条件输出,不满足条件输出 [ $a -lt 20 ] && echo "a<20" || "echo a>20"

a<20

if分支语句 基本语法

(1)单分支

if [ 条件判断式];then 程序 fi

或者

if [ 条件判断式] then 程序 fi

(2)多分支

if [ 条件判断式] then 程序 elif [ 条件判断式] then 程序 else 程序 fi

注意事项: ①[ 条件判断式],中括号和条件判断式之间必须有空格 ②if 后要有空格

单分支判断: a=25 if [ $a -gt 18 ];then echo ok; fi

ok

a=15 if [ $a -gt 18 ];then echo ok; fi

创建脚本文件:

chmod +x if_test.sh ./if_test.sh 25

ok

多个条件判断:

a=23 if [ $a -gt 18 ]&&[ $a -le 35 ];then echo ok;fi

ok

或者 :-a 表示and ,-o 表示or

if [ $a -gt 18 -a $a -le 35 ];then echo ok;fi

ok

多分支判断

./if_test.sh 25

青年人

./if_test.sh 216

老年人

./if_test.sh 16

未成年

./if_test.sh 45

中年人

case 语句 基本语法 case $变量名in "值1") 如果变量的值等于值1,则执行程序1 ;; "值2") 如果变量的值等于值2,则执行程序2 ;; …省略其他分支… *) 如果变量的值都不是以上的值,则执行此程序 ;; esac

注意事项: (1)case 行尾必须为单词“in”,每一个模式匹配必须以右括号“)”结束。 (2)双分号“;;”表示命令序列结束,相当于java 中的break。 (3)最后的“*)”表示默认模式,相当于java 中的default。

编写脚本

新建脚本文件: vim case_test.sh

chmod +x case_test.sh ./case_test.sh 1

one

./case_test.sh 2

two

./case_test.sh 3

three

./case_test.sh 4

other number

标签:

shell——分支语句由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“shell——分支语句