shell脚本if判断

本文详细介绍了shell编程中的if语句及其各种形式(单分支、双分支和多分支),涉及文件比较的各种运算符以及整数和字符串的比较,还有逻辑运算符如&&和||的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

if判断

if 使用方法

  1. 单分支
    语法:
    if [ 判断条件 ];then
    条件执行的语句
    fi
  2. 双分支
    语法:
    if [ 判断条件 ];then
    条件执行的语句
    else
    条件执行的语句2
    fi
  3. 多分支
    语法:
    if [ 判断条件 ];then
    条件执行的语句
    elif [ 判断条件 ];then
    条件执行的语句2
    else
    条件执行的语句3
    fi

文件比较与检查

文件比较运算符含义示例
-e如果文件或目录存在,则为真[ -e /file ]
-d如果文件存在且为目录,则为真[ -d /file ]
-f如果文件存在且为文件,则为真[ -f /usr/bin/grep.sh ]
-L如果文件存在文件为符号链接,则为真[ -L /usr/bin/grep.sh ]
-r如果文件存在文件且可读,则为真[ -r /usr/bin/grep.sh ]
-w如果文件存在文件且可写,则为真[ -w /var//usr/bin/grep.sh ]
-x如果文件存在且为可执行文件,则为真[ -x /usr/bin/grep.sh ]
-s如果文件长度不为0,则为真[ -s /usr/bin/grep.sh ]
-h如果文件是软链接,则为真[ -h /usr/bin/grep.sh ]
-nt如果文件1比文件2新,则为真[ /usr/bin/demo.sh -nt /bin/demo.sh ]
-ot如果文件1比文件2旧,则为真[ /usr/bin/demo.sh -ot /bin/demo.sh ]

整数变量表达式

比较运算符含义示例
-eq等于则条件为真[ 120 -eq 20 ]
-lt小于则条件为真[ 120 -lt 20 ]
-le小于等于则条件为真[ 120 -le 20 ]
-ne不等于则条件为真[ 120 -ne 20 ]
-gt大于则条件为真[ 120 -gt 20 ]
-ge大于等于则条件为真[ 120 -ge 20 ]

字符串比较运算符

比较运算符含义示例
==如果demo1等于demo2,则为真。字符串允许使用赋值号做等号。[ $demo1 == $demo2 ]
!=如果demo1不等于demo2,则为真。[ $demo1 != $demo2 ]
-n如果demo 非空,则为真。[ -n $demo ]
-z如果demo 为空,则为真。[ -z $demo ]

逻辑运算

逻辑与 –a (&&)
if [ 表达式1 –a 表达式2 ]:条件表达式的与
[表达式1 && 表达式2]

逻辑或 -o (||)
if [ 表达式1 –o 表达式2 ]:条件表达式的或
[表达式1 || 表达式2]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

烤鱼骑不快

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值