39、shell 脚本详解(二)----条件测试、if语句和case分支语句
条件测试
格式1 : test 条件表达式
格式2 :[条件表达式]
[操作符 文件或者目录]
常用操作符 说明
-d 目录是否为目录
-e 目录或者文件是否存在
-f 测试是否为文件
-r 是否有读取权限
-w 是否有写入权限
-x 是否有执行权限
&& 表示且
[整数1 操作符 整数2 ]
常用操作符 说明
-eq 等于
-ne 2 不等于
-lt 小于
-gt 大于
-le 小于或等于
-ge 大于或等于
格式1:[字符串1 = 字符串2 ]
[字符串1!=字符串2]
格式2 :[ -z 字符串]
常见操作符 说明
= 内容相同
!= 内容不同
-z 字符串内容为空
-n 检查是否有字符串存在
格式1 :[ 表达式1 ] 操作符 [ 字符串 2 ]
格式2 : 命令1 操作符 命令2
常用操作符 说明
-a 或者 && 逻辑与、而且的意思
-o 或者 || 逻辑或、或者的意思
! 逻辑否
if 条件语句
$? 逻辑返回0 为正确 任何非0 运行异常
或者直接用bash a.sh 通过systemctl status httpd 查看运行状态
(1)录入分数
(2)判断文件存在与权限
(3)选拔赛
#! /bin/bash
read -p “请输入你的成绩:” a
if [
(
e
c
h
o
"
(echo "
(echo"{a} > 0" |bc) -eq 1 ] && [
(
e
c
h
o
"
(echo "
(echo"{a}<10" |bc) -eq 1 ]
then
echo “恭喜进入选拔赛”
read -p “请输入你的性别:” b
if [ “
b
"
=
"
女
"
]
t
h
e
n
e
c
h
o
"
进
入
女
子
组
"
e
l
i
f
[
"
b" = "女" ] then echo "进入女子组" elif [ "
b"="女"]thenecho"进入女子组"elif["b” = “男” ]
then
echo “进入男子组”
else
echo “您的输入有误,请重新输入”
fi
elif [
(
e
c
h
o
"
(echo "
(echo"{a} > 10" |bc) -eq 1 ]
then
echo “不好意思,您被淘汰”
else
echo “你的输入有误,请重新输入”
fi
(4) 判断正负 负数同样有奇偶性
case 分支语句
(1) 选拔赛
(2)查看解压文件
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律