Loading

Linux Shell条件判断

判断语句

基本语法

[ 条件判断式 ]

1. 条件判断式前后都要有空格
2. 非空返回true,空返回false
- [ hello ] : 返回true
- [ ] : 返回false

判断条件

字符串比较

  1. =字符串是否相等

两个整数的比较

  1. -lt 小于
  2. -gt 大于
  3. -eq 等于
  4. -le 小于等于
  5. -ge 大于等于
  6. -ne 不等于

按照文件权限进行判断

  1. -r 有读的权限
  2. -w 有写的权限
  3. -x 有执行的权限

按照文件类型进行判断

  1. -f 文件存在且是一个常规文件
  2. -e 文件存在
  3. -d 文件存在且是一个目录

举例

  • 例子
    if.png
  • 结果
    ifres.png

三目运算写法

[ 条件判断式子 ] && 语句1 || 语句2

  • 满足条件则执行语句1
  • 否则执行语句2
  • 例子
    three1.png
  • 结果
    three2.png

if判断

基本语法

  1. 单分支
if [ 条件判断式 ]
then 
	代码
fi

或者

if [ 条件判断式 ]
then 
	代码
else
	代码
fi
  1. 多分支
if [ 条件判断式 ]
then 
	代码
elif
then
	代码
fi

注:
1. if后面需要空格
2. [ 条件判断式 ] : 中括号与条件判断式之间要有空格
3. else后面不跟then, if和elif 后面要跟 then

举例

  • 例子
    ifres.png
  • 结果
    ifres2.png

case判断

基本语法

case $变量名 in
"值1")
如果变量值等于1,则执行程序1
;;
"值2")
如果变量值等于2,则执行程序2
;;
*)
如果变量的值都不是以上的值,则执行此程序
;;
esac

与c语言switch的对比

  1. 开关语言都由四部分构成,不同语言用不同方式进行表达

    • 开关变量
    • 分支
    • 分支代码
    • 当前分支结束符号
  2. 对应关系
    comp.png

举例

  • 例子
    caseres2.png
  • 结果
    caseres1.png
posted @ 2022-01-03 10:32  咪啪魔女  阅读(152)  评论(0编辑  收藏  举报