我是靠谱客的博主 怕孤单棉花糖,最近开发中收集的这篇文章主要介绍shell中的条件语句if与case,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、条件测试
1.有两种形式:
test 条件表达式 或者 [ 条件表达式 ] (中括号用于条件表达式时,条件表达式与左右中括号之间应有空格隔开)
2.文件测试
需要判断是否为文件或目录等情况
(1)单个文件
-d :判断是否为目录
-f:判断是否为文件
-e:判断文件或目录是否存在
-r:判断当前用户是否有读取权限
-w:判断当前用户是否有写入权限
-x:判断当前用户是否有执行权限

[ -e /opt/1.txt ] 或者 test -e /opt/1.txt	//判断opt下的1.txt是否存在

(2)两个文件
-nt:判断文件A是否比文件B新
-ot:判断文件A是否比文件B旧
-ef:判断文件A与文件B是否为同一文件,换言之,是否指向同一个inode

test A -ef B

2.整数值的比较
-eq:第一个数等于第二个数
-ne:第一个数不等于第二个数
-gt:第一个数大于第二个数
-lt:第一个数小于第二个数
-le:第一个数小于等于第二个数
-ge:第一个数大于等于第二个数

[ $A -ge $B ]			//变量A的值是否大于变量B的值

3.字符串的比较
=:第一个字符串与第二个字符串相同
!=:第一个字符串与第二个字符串不相同
-z:检查字符串是否为空串,未定义或赋予空值的变量也为空串
4.逻辑测试
&&:逻辑与
||:逻辑或
!:逻辑否
二、if语句
(1)单分支的if语句语法
if [ 条件测试操作 ]
then
命令序列
fi

(2)双分支的if语句语法
if [ 条件测试操作 ]
then
命令序列
else
命令序列
fi
(3)多分支的if语句语法
if [ 条件测试操作 ]
then
命令序列
elif [ 条件测试操作 ]
then
命令序列
else
命令序列
fi
三、case语句
基本语法结构:
case 变量值 in
mode 1)
命令序列1
;;
mode 2)
命令序列2
;;
mode 3)
命令序列3
;;

*)
默认命令序列
esac

#!/bin/bash
read -p "输入一个数字:" num		//从标准输入中获取内容赋值给num
case $num in				//调用num匹配不同的模块(mode),然后执行相应的操作
1)
echo "10"
;;
2)
echo "20"
;;
*)
echo "error"
esac

最后

以上就是怕孤单棉花糖为你收集整理的shell中的条件语句if与case的全部内容,希望文章能够帮你解决shell中的条件语句if与case所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部