Shell 脚本进阶,经典用法详解及其案例【条件选择判断

本文详细介绍了Shell脚本中的条件选择判断和循环的经典用法,包括判断年纪、分数,以及用法格式、执行机制。通过案例展示了如何判断yes or no,求出序列和,监控用户登录以及生成菜单。文中还讲解了case语句的用法,以及for、while、until和select循环的示例,涵盖循环控制语句的运用,帮助读者深入理解Shell脚本的控制流程。
摘要由CSDN通过智能技术生成

fi

逐条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if。

经典案例:判断年纪

#判断年纪

#!/bin/bash

read -p "Please input your age: " age

if [[ $age =~ [^0-9] ]] ;then

echo “please input a int”

exit 10

elif [ $age -ge 150 ];then

echo “your age is wrong”

exit 20

elif [ $age -gt 18 ];then

echo “good good work,day day up”

else

echo “good good study,day day up”

fi

  • 分析:请输入年纪,先判断输入的是否含有除数字以外的字符,有,就报错;没有,继续判断是否小于150,是否大于18。

经典案例:判断分数

#判断分数

#!/bin/bash

read -p "Please input your score: " score

if [[ $score =~ [^0-9] ]] ;then

echo “please input a int”

exit 10

elif [ $score -gt 100 ];then

echo “Your score is wrong”

exit 20

elif [ $score -ge 85 ];then

echo “Your score is very good”

elif [ $score -ge 60 ];then

echo “Your score is soso”

else

echo “You are loser”

fi

  • 分析:请输入成绩,先判断输入的是否含有除数字以外的字符,有,就报错;没有,继续判断是否大于100,是否大于85,是否大于60。

2、条件判断 case


(1)用法格式

case $name in;

PART1)

cmd

;;

PART2)

cmd

;;

*)

cmd

;;

esac

  • 注意:case 支持glob 风格的通配符:

*: 任意长度任意字符

?: 任意单个字符

[ ] :指定范围内的任意单个字符

a|b: a 或b

经典案例:判断yes or no

#判断yes or no

#!/bin/bash

read -p "Please input yes or no: " anw

case $anw in

[yY][eE][sS]|[yY])

echo yes

;;

[nN][oO]|[nN])

echo no

;;

*)

echo false

;;

esac

分析:请输入yes or no,回答Y/y、yes各种大小写组合为yes;回答N/n、No各种大小写组合为no。

二、四个循环

=================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值