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作为结尾

相关推荐
wuminyu5 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
IMPYLH6 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
叼烟扛炮7 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb8 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮9 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
水饺编程10 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰10 小时前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
倔强的石头10610 小时前
【Linux指南】进程通信系列(七):System V 信号量 —— 同步互斥的内核原语
linux·运维·服务器
GeW11 小时前
从"补短板"到"强优势"Linux与数据库认证成为产业跃迁人才支点
linux·数据库
PellyKoo13 小时前
【Ubuntu】GTX 1080 Ti 显卡占用为0但功率高达60W的排查与解决
linux·运维·ubuntu