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 发布!

相关推荐
我真的是大笨蛋4 小时前
K8S-Pod(下)
java·笔记·云原生·容器·kubernetes
碳水加碳水4 小时前
Java代码审计实战:XML外部实体注入(XXE)深度解析
java·安全·web安全·代码审计
努力也学不会java5 小时前
【设计模式】 原型模式
java·设计模式·原型模式
方渐鸿5 小时前
【2024】k8s集群 图文详细 部署安装使用(两万字)
java·运维·容器·kubernetes·k8s·运维开发·持续部署
学亮编程手记6 小时前
K8S v1.33 版本主要新特性介绍
java·容器·kubernetes
Haven-7 小时前
Java-面试八股文-JVM篇
java·jvm·面试
我真的是大笨蛋7 小时前
JVM调优总结
java·jvm·数据库·redis·缓存·性能优化·系统架构
wjs0407 小时前
Git常用的命令
java·git·gitlab
superlls7 小时前
(算法 哈希表)【LeetCode 349】两个数组的交集 思路笔记自留
java·数据结构·算法
田里的水稻8 小时前
C++_队列编码实例,从末端添加对象,同时把头部的对象剔除掉,中的队列长度为设置长度NUM_OBJ
java·c++·算法