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结束语句

双分支结构

else 命令序列,只有条件测试语句不成立,才会执行else的命令模块

条件满足执行then,不满足执行else,执行完毕,语句结束。

多分支结构

if

then

命令序列

elif

then

命令序列

elif

then

命令序列

else

命令学历

fi

&> /dev/null

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

case语句相当于多分支结构

模式1)变量值 in

命令序列

;;作为结尾

模式2)

命令序列

;;作为结尾

.........

*)相当于else

esac作为结尾

相关推荐
sanzk3 小时前
firefly开发板ubuntu安装ros2下的micro-ROS Agent
linux·运维·ubuntu
weixin_307779136 小时前
Linux下Nginx故障系统化检查Shell脚本
linux·运维·服务器·nginx·自动化
skyutuzz7 小时前
node安装部署
linux
一次旅行7 小时前
【AI工具】Rust-Based CLI:用 xargs 和并行加速你的 Linux 日常
linux·开发语言·rust
2501_925963389 小时前
Hi3516CV610 + MPU6050 DMP 软件 EIS 防抖笔记
linux·运维·服务器
qetfw9 小时前
CentOS 7 基础环境配置
linux·运维·centos
天空'之城10 小时前
Linux 系统编程 21:守护进程与日志系统全解
linux·系统编程·日志系统·守护进程
l1t10 小时前
用split命令恢复被wget -c命令误追加的zip压缩包
linux
辉灰笔记11 小时前
MySQL8 意外关机/误移data目录导致服务启动失败 PID报错/权限报错 修复文档
linux·数据库·mysql·centos
ylscode13 小时前
CVE-2026-31694 漏洞深度分析:Linux 内核 FUSE 组件存在本地提权风险,普通用户可直取 root 权限
linux·运维·服务器