Shell脚本 if语句

条件测试:

$? 返回码

判断命令或者脚本是否执行成功(最近的一条)

0 true 为真就是成功 成立

非0 false 失败或者异常

test命令 可以进行条件测试 然后根据的是返回值来判断条件是否成立。

-e 测试目录或者文件是否存在 exist

-d 测试目录是否存在

-f 测试文件是否存在

-r 测试当前用户是否对文件/目录有读权限

-w 测试当前用户是否对文件/目录有写权限

-x 测试当前用户是否对文件/目录有执行权限

整数比较符(以下操作符只能用于整数之间比较)

-eq 等于 == 既可以比较整数,也可以比较字符串

-ne 不等于 !=

-gt 大于 >

-lt 小于 <

-ge 大于等于 >=

-le 小于等于 <=

比较符的第二种

第三种格式:

\[ \]\]可以使用更高级的模式,可以使用正则表达式,而且,在双括号当中,使用字符串的时候可以不加引号。 第四种: (( )) 运算符 逻辑与和逻辑或 与 \&\& 条件都满足才成立 -a 或 \|\| 有一个条件满足就成立 -o if'语句: ##### 单分支结构 if 后面是条件测试语句 then 命令序列,只有条件测试语句成立,才会执行then的命令模块 fi结束语句 ![](https://img-blog.csdnimg.cn/direct/0b596655cd174533b834bb4f15a61123.png) ##### 双分支结构 else 命令序列,只有条件测试语句不成立,才会执行else的命令模块 条件满足执行then,不满足执行else,执行完毕,语句结束。 ![](https://img-blog.csdnimg.cn/direct/4c995f39125a4a12aa1e813cbf2882e7.png) ##### 多分支结构 if \[

then

命令序列

elif [ ]

then

命令序列

elif [ ]

then

命令序列

else [ ]

命令学历

fi

&> /dev/null

把冗余信息传送到黑洞文件

case语句相当于多分支结构

模式1)变量值 in

命令序列

;;作为结尾

模式2)

命令序列

;;作为结尾

.........

*)相当于else

esac作为结尾

相关推荐
草莓熊Lotso13 小时前
【Linux系统加餐】从原理到封装:基于建造者模式实现System V信号量工业级C++封装
android·linux·运维·服务器·网络·c++·建造者模式
广州灵眸科技有限公司19 小时前
瑞芯微(EASY EAI)RV1126B 核心板供电电路
linux·运维·服务器·单片机·嵌入式硬件·电脑
keyipatience19 小时前
18.Linux进程退出和进程等待机制详解
linux·运维·服务器
齐齐大魔王20 小时前
Linux-网络编程实战
linux·运维·网络
花阴偷移21 小时前
Ubuntu 22.04版本下配置静态IP
linux·运维·服务器·tcp/ip·ubuntu
weixin_4734372321 小时前
Swift4D处理Multi-view dataset记录
linux
霞姐聊IT1 天前
SR-IOV、MR-IOV 与 SIOV:PCIe虚拟化技术的过去、现在与未来
linux·服务器·虚拟化·pcie
szxinmai主板定制专家1 天前
电力设备RK3568/RK3576+FPGA,多系统混合部署Linux+RTOS RT-THREAD,强实时性
linux·运维·服务器·人工智能·嵌入式硬件·fpga开发
枕星而眠1 天前
Linux 四大进程/线程同步锁详解:互斥锁、读写锁、条件变量、文件锁
linux·c语言·后端·ubuntu·学习方法
L、2181 天前
CANN调优工具链全景:从profiler到tensorboard的完整观测体系
linux·运维·服务器·深度学习