shell——分支语句
- 电脑硬件
- 2025-09-07 12:21:02

文章目录 基本语法常用判断条件(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; fiok
a=15 if [ $a -gt 18 ];then echo ok; fi创建脚本文件:
chmod +x if_test.sh ./if_test.sh 25ok
多个条件判断:
a=23 if [ $a -gt 18 ]&&[ $a -le 35 ];then echo ok;fiok
或者 :-a 表示and ,-o 表示or
if [ $a -gt 18 -a $a -le 35 ];then echo ok;fiok
多分支判断 ./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 1one
./case_test.sh 2two
./case_test.sh 3three
./case_test.sh 4other number
shell——分支语句由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“shell——分支语句”