shell 编程条件语句

ZYC·2023-11-21 20:00·13 次阅读

shell 编程条件语句

shell

test   测试#

0为真

test -a /etc/fstab

echo $?

test -e /etc/fstab

echo $?

 

-a,-e #测试文件是否存在

-a有bug #取反会有变化

test +选项 对象参数

test -f #只看文件
-r #是否有读的权限
-w #是否有写的权限
-x #是否有执行的权限
-d #目录
-f #文件

[ -e /etc/fstab ];echo $?

[ -e /etc/fstab ] =test -e /etc/fstab

 

linux 中判断命令

test

[]

[[]] 加强版的单个[] #可以支持正则表达 和通配符

 

 

数值比较运算符#

-eq #等于
-gt #大于
-ge #大于等于
-ne #不等于
-lt #小于
-le #小于或等于

 

字符串比较#

 

[[ == ]] #判断两字符是否相等用双等号


=:字符串内容相同
!=:字符串内容不同,! 号表示相反的意思
-z:字符串内容为空
-n: 字符是否存在

 

 

逻辑测试#

短路与 #全真才为真

cmd1 && cmd2 #看成一个整体

1为真2为真 ---> 真

一假即为假

短路或 #一真即为真

全假才为假

cmd1 || cmd2

 

 

 

 

 

 

设置ping的脚本#

#ping三个包,等待2秒   将多余垃圾丢到null  ,如成功就online ,失败就offline

 

 

 

实验  如果你是超级管理员   /data/test  文件 不存在    就创建这个文件#

 -o  或 -a 且

 

( ) { } 拓展#

 #() 相当于 cd /opt  ls   cd -        { }相当于 cd /opt  ls

 

if语句的结构#

if 判断条件

单分支#

if [ 5 gt 4]
then
touch /etc/test
echo true
fi

if #判断条件

theh #条件为真的分支代码

 

双分支#

if [`id-u` -eq 0]
then
echo "你是超级管理员"
else
echo "你不是超级管理员"
fi


if #判断条件;
then #条件为真的分支代码

else #条件为假的分支代码

 

多分支#

if 判断条件1
then #命令序列
#条件1为真的分支代码

elif 判断条件2
then# 命令序列
#条件2为真的分支代码

elif 判断条件3;
then #命令序列
#条件3为真的分支代码
.......................
else
#命令序列
fi

 

 

 

 

 

 

 

 

 

 

实验 分数实验#

 

 

 

 

实验 布 剪子 锤#

 

 

 

 

时间#

 

 

 #创建个时间文件

 

实验 创建用户 生成随机密码#

 

 

 

 

 

case 条件判断#

 

case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac

read -p i

case $i in
PAT1)
分支1
;;
PAT2)
分支2
;;
...
*)
默认分支
;;

case支持glob风格的通配符:
* #任意长度任意字符
? #任意单个字符
[0-9] 指定范围内的任意单个字符
|   或者,如: a|b

 

 

 

 

分数实验#

 

 

 

 

 

 输入数字表示数字,输入字母表示字母,输入特殊字符表示特殊字符#

 

 

 

 简易工具箱实验#

 

 #bash 0循环。不退出

 

 

 

输入yes,Yes, y 或者n no  No  都可以输出yes or no#

 

 

 

 

脚本运行编译安装+systemd#

 

 

 

 

 

 

 

 

posted @   citywalk  阅读(13)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示
目录