shell脚本基础知识梳理<三>:条件测试与比较、流程控制 if
admin
2023-03-12 15:42:22
0次

一、条件测试与比较
1、test 测试表达式 常用
test -f file && echo true||echo false
2、[ 测试表达式 ] 特别常用
[ -f file ]&& echo true||echo false
3、[[ 测试表达式 ]]
二、流程控制

1、流控制语句 if
实例1
#!/bin/bash
#获取uid=0(root)中的0;
id=id | awk -F '[=(]' '{print $2}'
echo "your user id is:$id"
if [ $id -eq 0 ]
then
echo "root"
else
echo "not root"
fi
实例2:判断登录的用户
#!/bin/bash
#$#是添加到shell 参数个数
if [ $# -eq 1 ] #或 [[ $#==1 ]] 或 (($#==1))
then
if who|grep $1 >/dev/null
then
echo $1 is active.
else
echo $1 is not active.
fi
else
echo "Usage: $0 "
exit 1
fi
~
执行后的结果
[root@localhost shell]# sh if-if.sh root
root is active.
[root@localhost shell]# sh if-if.sh zabbix
zabbix is not active.
[root@localhost shell]# sh if-if.sh
Usage: if-if.sh
[root@localhost shell]#
实例3 if-elif..else-fi
#!/bin/bash
##if-elif..else-fi
read -p "how lod are you? " age
#使用shell算数运算符(())进行条件测试
if ((age<0||age>120));then #[[ age < 0 || age > 120 ]]
echo "out of range !"
exit 1
fi
if ((age>=0&&age<13));then
echo "child!"
elif ((age>=13&&age<20));then
echo "callan!"
elif ((age>=20&&age<30));then
echo "P iii"
elif ((age>=30&&age<40));then
echo "P IV I"
else
echo "Sorry I asked."
fi
实例4
#!/bin/bash
##if 语句可以嵌套使用
file=$1
[ $# -ne 1 ] && echo "Usage: $0 " && exit 1
#错误的写法 [ $# -ne 1 ] && echo "Usage: $0 " ; exit 1 这样";" 不管前面的判断是否正确都会执
行
if [ -d $file ]
then
echo "$file is a directory"
elif [ -f $file ]
then
if [ -r $file -a -w $file -a -x $file ];then
echo "you have (rwx) permissioon on $file."
else
echo "$file is file."
fi
else
echo "$fles is neither a file nor a directory."
fi
执行结果
[root@localhost shell]# vim if-elif-if-else.sh
[root@localhost shell]# sh if-elif-if-else.sh liu
you have (rwx) permissioon on liu.
[root@localhost shell]# sh if-elif-if-else.sh liub
liub is a directory
[root@localhost shell]# touch qq
[root@localhost shell]# sh if-elif-if-else.sh qq
qq is file.
[root@localhost shell]#

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...