栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

linux运维之Bash自动化-04条件判断与逻辑运算

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

linux运维之Bash自动化-04条件判断与逻辑运算

条件判断与逻辑运算
    • 1.前言
    • 2.优势
    • 3.方法
    • 4.结尾
    • 5. 题外话

1.前言

虽然Bash条件判断的方法有很多,而逻辑运算的用法又稍微有所不同,但是用法大同小异,会用一种,能看懂别的用法就是成功,没必要所有的用法都掌握。所谓贪多嚼不烂,这里只会讲本人经过比较后,总结的一套方法,当然读者可以根据自己的喜欢和习惯部分替换或者全部替换。

2.优势

(1) 记住的东西比较少,不用记住所有,让学习的人更容易上手;
(2) 虽然记的东西比较少,但是根据本人的工作经验来看,足以应付所有情况;
(3) 让读者比较舒服,也省去了自己总结的时间和精力;
(4) 写脚本不用纠结用什么套路去写,因为就一套,没有分支!!!

3.方法

接下来直接讲方法,都是精华:
3.1 双中括号,永远滴神,统统用 ‘[[’ 和 ‘]]’ ,也就是用双中括号

# 比较数字大小,比较数字大小只要记住:
# 大于: -gt 
# 小于: -lt
# 等于: -eq
# 大于等于、小于等于: -ge、-le
if [[ 10 -ge 9 ]];then
	echo "10 >= 9"
else
	echo "10 < 9"	
fi
# 字符串或小数比较比较:
# 大于: >
# 小于: <
# 等于: =
# 小于等于: <=
# 大于等于: >=
if [[ "How are you" > "How much" ]];then
	echo "How are you > How much"
else
	echo "How are you > How much"
fi
if [[ 1.2 > 1.1 ]];then
	echo "1.2 > 1.1"
else
	echo "1.2 <= 1.1"
fi
# 存在性判断
# -f : 文件存在性
# -d : 目录存在性
# -L : 符号链接是否存在
# -b : 块设备是否存在
# -e : 是否存在,无论是什么
# 等等
# ! :  前面加!,表示相反
if [[ ! -f "/root/test" ]];then	
	echo "不存在/root/test"
	touch /root/test
	if [[ -f "/root/test" ]];then
		echo "存在/root/test"	
	fi
fi
# 字符串为空
str=""
[[ -z ${str} ]] && echo "str 为空."
[[ ! -n ${str} ]] && echo "str 为空."
# 字符串非空
str="hello"
[[ -n ${str} ]] && echo "str 非空." || echo "str 为空"
[[ ! -z ${str} ]] && echo "str 非空." || echo "str 为空"

# 组合判断
# 或: ||
# 与: &&
# 非: !
value=10
if [[ ${value} > 9 && ${value} > 3 ]];then
	echo "${value} > 9 && ${value} > 3"
fi
4.结尾

不用去学别的方式判断,因为就我写这么多脚本来看,这些方法完全可以做到所有事情!
test判断,单括号判断都只需要能看懂,也很好看懂的。
你以为双括号永远的神就只有这些? 错了,循环我们也用双括号。

下一节:linux运维之Bash自动化-04循环

5. 题外话

工作繁忙,更新可能比较慢,但是一定会坚持的!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/884950.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号