Shell 流程控制

💝💝💝首先,欢迎各位来到我的博客,很高兴能够在这里和您见面!希望您在这里不仅可以有所收获,同时也能感受到一份轻松欢乐的氛围,祝你生活愉快!
💝💝💝如有需要请大家订阅我的专栏【Linux系列】哟!我会定期更新相关系列的文章💝💝💝

一、if else 语法

1.1 if语法

1.1.1 if基本语法格式

if 语句基本语法格式如下:

if condition
then
    command1 
    command2
    ...
    commandN 
fi

1.1.2 案例展示

a = 10

if a > 5 then 
echo "输出a:${a}"
fi

注意:
末尾的 fi 就是 if 倒过来拼写,这也是shell语法的特殊性

1.2 if else语法

1.2.1 if else基本语法格式

if else 语法基本格式如下:

if condition
then
    command1 
    command2
    ...
    commandN
else
    command
fi

案例展示

a=10

if a < 20 then 
echo "如果a小于20,输出a:${a}"
else
echo "如果a大于20,输出a:${a}"
fi

1.3 if else-if else语法

1.3.1 if else-if else基本语法格式

if else-if else基本语法格式如下:

if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

1.3.2 案例展示

if else 的 […] 判断语句中大于使用 -gt,小于使用 -lt

a=10
b=20
if [ $a == $b ]
then
   echo "a 等于 b"
elif [ $a -gt $b ]
then
   echo "a 大于 b"
elif [ $a -lt $b ]
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi

如果使用 ((…)) 作为判断语句,大于和小于可以直接使用 > 和 <

a=10
b=20
if (( $a == $b ))
then
   echo "a 等于 b"
elif (( $a > $b ))
then
   echo "a 大于 b"
elif (( $a < $b ))
then
   echo "a 小于 b"
else
   echo "没有符合的条件"
fi

二、for 循环

2.1 for循环基本语法

如其他编程语言一样,shell也支持for循环,其基本语法格式如下:

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

2.2 案例展示

当变量值在列表里,for 循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的 shell 命令和语句。in 列表可以包含替换、字符串和文件名。

for loop in 1 2 3 4 5
do
    echo "The value is: $loop"
done

结果输出为:

The value is: 1
The value is: 2
The value is: 3
The value is: 4
The value is: 5

三、while 语句

3.1 while 语句基本语法

while 循环用于不断执行一系列命令,也用于从输入文件中读取数据。其基本语法格式如下:

while condition
do
    command
done

3.2 案例展示

以下是一个基本的 while 循环,测试条件是:如果 int 小于等于 5,那么条件返回真。int 从 1 开始,每次循环处理时,int 加 1。运行上述脚本,返回数字 1 到 5,然后终止

int=1
while(( $int<=5 ))
do
    echo $int
    let "int++"
done

四、case … esac语法

4.1 case … esac基本语法

case … esac 为多选择语句,与其他语言中的 switch … case 语句类似,是一种多分支选择结构,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即执行结束,跳出整个 case … esac 语句,esac(就是 case 反过来)作为结束标记,基本语法格式如下:

casein
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

4.2 案例展示

下面的脚本提示输入 1 到 4,与每一种模式进行匹配:

echo '输入 1 到 4 之间的数字:'
echo '你输入的数字为:'
read aNum
case $aNum in
    1)  echo '你选择了 1'
    ;;
    2)  echo '你选择了 2'
    ;;
    3)  echo '你选择了 3'
    ;;
    4)  echo '你选择了 4'
    ;;
    *)  echo '你没有输入 1 到 4 之间的数字'
    ;;
esac

下面的脚本匹配字符串:

var="shell"

case "$var" in
   "shell") echo "this is shell"
   ;;
   "linux") echo "this is linux"
   ;;
   "java") echo "this is java"
   ;;
esac

结束语

❤️❤️❤️请大家记得订阅我的专栏【Linux系列】哟❤️❤️❤️

linux相关文章索引文章链接
Shell 流程控制Shell 流程控制
Shell 基本运算符Shell 基本运算符
Shell 变量Shell 变量
Linux命令篇(一):文件管理部分Linux命令篇(一):文件管理部分
Linux命令篇(二):文档编辑部分Linux命令篇(二):文档编辑部分
Linux命令篇(三):磁盘管理部分Linux命令篇(三):磁盘管理部分
Linux命令篇(四):系统管理部分Linux命令篇(四):系统管理部分
Linux命令篇(五):解压缩部分Linux命令篇(五):解压缩部分
Linux命令篇(六):vi/vim专项Linux命令篇(六):vi/vim专项
Linux系列:系统目录结构Linux系列:系统目录结构
Linux系列–shell基础语法Linux系列–shell基础语法
Linux系列–定时任务设置Linux系列–定时任务设置

觉得有用的话点个赞 👍🏻 呗。
❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄
💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍
🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

  • 9
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

菜鸟小码

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值