【shell】shell判断的几种方式

shell判断的几种方式

在Shell中有多种方法可以进行条件判断

if语句

使用if语句来根据不同的条件执行相应的操作。示例如下所示:

#!/bin/bash
read -p "请输入一个数字: " num
 
if [ $num -gt 0 ]; then
    echo "$num大于零"
elif [ $num -lt 0 ]; then
    echo "$num小于零"
else
    echo "$num等于零"
fi

-eq #相等
-ne #不等
-gt #大于
-lt #小于
-ge #大于等于
-le #小于等于

case语句

case语句通常用于对变量值与模式进行比较并执行相应的命令。示例如下所示:

#!/bin/bash
fruit="apple"
 
case $fruit in
    apple)
        echo "这是一个苹果"
        ;;
    banana)
        echo "这是一个香蕉"
        ;;
    orange)
        echo "这是一个橙子"
        ;;
    *)
        echo "未知水果"
esac

test命令

test命令也被称为[ ]或者[[ ]],用于测试表达式的真假。示例如下所示:

#!/bin/bash
file="/path/to/file.txt"
 
if test -e $file; then
    echo "文件存在"
else
    echo "文件不存在"
fi

-e #判断文件是否存在(任何类型文件)
-f #判断文件是否存在并且是一个普通文件
-d #判断文件是否存在并且是一个目录

[[ ]]运算符

[[ ]]运算符提供了更加直观、简单的条件判断功能。示例如下所示:

#!/bin/bash
name="John Doe"
age=25
 
if [[ $name == John* && $age > 18 ]]; then
    echo "名字以'John'开头且年龄大于18岁"
fi

-a&& 逻辑与 (全真为真,有假则为假)
-o|| 逻辑或 (全假才假,有真必为真)
a && b a和b同时为true 才返回 true,否则返回false
a || b a或b任意一个为true 就返回true,否则返回false

相关推荐

  1. 【shell】shell判断方式

    2024-02-23 05:46:02       49 阅读
  2. js判断对象是否为空方法

    2024-02-23 05:46:02       40 阅读
  3. PEFT方式

    2024-02-23 05:46:02       21 阅读
  4. 【python并发任务方式

    2024-02-23 05:46:02       55 阅读
  5. 分布式锁实现方式

    2024-02-23 05:46:02       50 阅读
  6. 分布式 ID 实现方式

    2024-02-23 05:46:02       60 阅读
  7. 【面试】MySQL查询方式

    2024-02-23 05:46:02       62 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-23 05:46:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-23 05:46:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-02-23 05:46:02       82 阅读
  4. Python语言-面向对象

    2024-02-23 05:46:02       91 阅读

热门阅读

  1. python第七节:条件、循环语句(1)

    2024-02-23 05:46:02       48 阅读
  2. Pandas读取excel表并新增一列后存储

    2024-02-23 05:46:02       44 阅读
  3. vue中computed和watch的使用场景

    2024-02-23 05:46:02       55 阅读
  4. k8s部署模板

    2024-02-23 05:46:02       62 阅读
  5. 通过Nginx实现在浏览器查看Linux服务器日志

    2024-02-23 05:46:02       54 阅读
  6. 【软考高项】【英语知识】-- 单词积累

    2024-02-23 05:46:02       38 阅读
  7. 程序员为啥不关电脑

    2024-02-23 05:46:02       43 阅读
  8. 用脑补而不是重传对有损传输进行纠错

    2024-02-23 05:46:02       59 阅读
  9. json字符串的处理

    2024-02-23 05:46:02       37 阅读
  10. springsecurity框架笔记

    2024-02-23 05:46:02       41 阅读
  11. el-upload组件实现上传拖拽排序图片顺序

    2024-02-23 05:46:02       44 阅读
  12. 深入探讨YUV图像处理:理论原理与OpenCV实践

    2024-02-23 05:46:02       39 阅读