linux Shell 命令行-06-flow control 流程控制

拓展阅读

linux Shell 命令行-00-intro 入门介绍

linux Shell 命令行-02-var 变量

linux Shell 命令行-03-array 数组

linux Shell 命令行-04-operator 操作符

linux Shell 命令行-05-test 验证是否符合条件

linux Shell 命令行-06-flow control 流程控制

linux Shell 命令行-07-func 函数

linux Shell 命令行-08-file include 文件包含

linux Shell 命令行-09-redirect 重定向

流程控制

If Else

if

sh 复制代码
if 条件
then
    命令1
    命令2
    ...
    命令N
fi

if else

sh 复制代码
if 条件
then
    命令1
    命令2
    ...
    命令N
else
    命令
fi

if else-if else

sh 复制代码
if 条件1
then
    命令1
elif 条件2
then
    命令2
else
    命令N
fi

演示

sh 复制代码
echo "请输入你的年龄"
read age

if [[ $age -le 0 ||  $age -ge 100 ]]
then
echo "这太疯狂了!"

elif [ $age -le 20 ]
then
echo "小孩子"

elif [[ $age -gt 20 &&  $age -le 40 ]]
then
echo "好时光"

else
echo "做自己"

fi

for

sh 复制代码
for 循环变量 in "hello" "boy" "see" "you" "sometimes" "somewhere"
do
echo "单词是 $循环变量"
done

运行

ruby 复制代码
houbinbindeMacBook-Pro:shell houbinbin$ chmod +x for.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./for.sh
单词是 hello
单词是 boy
单词是 see
单词是 you
单词是 sometimes
单词是 somewhere

While

sh 复制代码
while 条件
do
    命令
done

演示

sh 复制代码
#!/bin/sh

# while 演示

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

运行

kotlin 复制代码
houbinbindeMacBook-Pro:shell houbinbin$ ./while.sh
val: 1
val: 2
val: 3
val: 4

case

sh 复制代码
case 变量名 in
模式1)
    命令1
    命令2
    ...
    命令N
    ;;
模式2)
    命令1
    命令2
    ...
    命令N
    ;;
esac

演示

sh 复制代码
#!/bin/sh

# case 演示

echo "请输入一个数字(1-4)"

echo 你输入的是:

read num

case $num in
1)
    echo "输入了一"
    ;;
2)
    echo "输入了二"
    ;;
3)
    echo "输入了三"
    ;;
4)
    echo "输入了四"
    ;;

*)
    echo "你的输入超出范围"
    ;;
esac

运行

ruby 复制代码
houbinbindeMacBook-Pro:shell houbinbin$ vi case.sh
houbinbindeMacBook-Pro:shell houbinbin$ ./case.sh
请输入一个数字(1-4)
你输入的是:
1
输入了一

break

sh 复制代码
#!/bin/sh

# break 演示

for num in 1 2 3 4 5
do
    if [ $num -eq 4 ]
    then
    break
    fi
    echo "num is: $num"
done

运行

dart 复制代码
houbinbindeMacBook-Pro:shell houbinbin$ ./break.sh
num is: 1
num is: 2
num is: 3

continue

sh 复制代码
#!/bin/sh

# continue 演示

for num in 1 2 3 4 5
do
    if [ $num -eq 4 ]
    then
    continue
    fi
    echo "num is: $num"
done

运行

dart 复制代码
houbinbindeMacBook-Pro:shell houbinbin$ ./continue.sh
num is: 1
num is: 2
num is: 3
num is: 5

本文由博客一文多发平台 OpenWrite 发布!

相关推荐
陈平安Java and C4 小时前
MyBatisPlus
java
秋野酱5 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
Bunny02125 小时前
SpringMVC笔记
java·redis·笔记
feng_blog66886 小时前
【docker-1】快速入门docker
java·docker·eureka
枫叶落雨2227 小时前
04JavaWeb——Maven-SpringBootWeb入门
java·maven
m0_748232397 小时前
SpringMVC新版本踩坑[已解决]
java
码农小灰7 小时前
Spring MVC中HandlerInterceptor和Filter的区别
java·spring·mvc
乔木剑衣8 小时前
Java集合学习:HashMap的原理
java·学习·哈希算法·集合
专职9 小时前
spring boot中实现手动分页
java·spring boot·后端
神探阿航9 小时前
第十五届蓝桥杯大赛软件赛省赛C/C++ 大学 B 组
java·算法·蓝桥杯