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

相关推荐
不知几秋12 分钟前
Spring Boot
java·前端·spring boot
程序员岳焱1 小时前
深度剖析:Spring AI 与 LangChain4j,谁才是 Java 程序员的 AI 开发利器?
java·人工智能·后端
都叫我大帅哥1 小时前
AQS(AbstractQueuedSynchronizer)深度解剖:从“奶茶店排队”到源码级设计哲学
java
斯奕sky_small-BAD1 小时前
C++ if语句完全指南:从基础到工程实践
java·开发语言·php
云之渺1 小时前
125java
java
都叫我大帅哥1 小时前
Java ReentrantLock:从“舔狗式等待”到源码级征服指南
java
程序员岳焱1 小时前
Java 高级泛型实战:8 个场景化编程技巧
java·后端·编程语言
钢铁男儿2 小时前
C# 类和继承(扩展方法)
java·servlet·c#
饮长安千年月2 小时前
JavaSec-SpringBoot框架
java·spring boot·后端·计算机网络·安全·web安全·网络安全
移动开发者1号2 小时前
Android 大文件分块上传实战:突破表单数据限制的完整方案
android·java·kotlin