shell判断、分支、循环语法

条件测试

test或者[ ] 判断一个条件是否成立。

-eq 等于
-ne 不等于

-lt 小于
-le 小于等于

-gt 大于
-ge 大于等于

EX:
VAR=100
#[ “$VAR” -eq 100 ]#变量取值都放在双引号中
test $VAR -eq 100
echo $?

if/then/elif/else/fi语句

#! bin/sh

if [ -f /bin/sh ];then #这里的;是为了隔断两个命令
echo “-----------”
elif [ -p /bin/sh ];then
echo “-----------”
else
echo “-----------”
fi

case语句

C语言的switch-case只能匹配int型和char型常量表达式
但是。。。
shell里case可以匹配字符串和通配符

#! bin/sh

read YES_OR_NO
case “$YES_OR_NO” in
yes|y|Yes|YES)
echo “dasdasdsad” ;; #;;相当于是break
[nN]*) #[nN] 是通配符,,用来匹配
echo “sadasdadsa” ;;
*)
echo “dasdasdadas”
return 1 ;;
esac
retrun 0


循环for while

for/do/done
相当于是foreach

#! bin/sh

for MYFILE in KaTeX parse error: Expected 'EOF', got '#' at position 20: … ;do #̲(ls)等价于‘ls’ 显示…MYFILE" ];then
echo “dasdasdada”
elif [ -f “$MYFILE” ];then
echo “sdasdadsaa”
else
echo “sdasdadad”
fi
done


while/do/done

#! bin/sh

count=3 #三次机会
echo “enter password:”
read TRY
while [ " T R Y " ! = " s e c r e t " − a c o u n t − g t 0 ] ; d o e c h o " s o r r y , t r y a g a i n " c o u n t = TRY" != "secret" -a count -gt 0 ];do echo "sorry ,try again" count= TRY"!="secret"acountgt0];doecho"sorry,tryagain"count=[count-1] #[ ]这里是算术运算符
read TRY
done
echo “sdasdadsadasdaa”

break[n] 可以指定跳出几层循环
continue 跳过本次循环,但不会跳出循环

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

栋哥爱做饭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值