🐉

奇门遁甲:步法变换

🐉

第二十一回:神龙岛迷宫探路,韦小宝见招拆招

👱

这神龙岛全是岔路,一会往左一会往右(if-else),还要绕着圈子走(loop),头都晕了!

👳

这就是流程控制。如果是岔路,就用 ifcase;如果是绕圈子,就用 forwhile。只要掌握了这套步法,任何迷宫都困不住你。

🛤️ 岔路口 (if / else)

遇到分岔路,看情况决定往哪走。

if [ $money -gt 100 ]
then
echo "去怡红院"
elif [ $money -gt 50 ]
then
echo "去喝花酒"
else
echo "回家睡觉"
fi

注意:if 结尾必须要把 if 倒过来写 fi,表示结束。

🔄 绕圈子 (for 循环)

当你需要把所有老婆都问候一遍。

for wife in 双儿 阿珂 建宁
do
echo "亲爱的 $wife,我想死你了!"
done

⏳ 守株待兔 (while 循环)

只要条件满足,就一直做。

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

🃏 翻牌子 (case)

当选项很多时,用 caseif 更方便。就像皇上翻牌子。

read name
case $name in
"双儿") echo "温柔贤惠" ;;
"建宁") echo "刁蛮任性" ;;
*) echo "不认识这人" ;;
esac

注意:每个选项后面要用双分号 ;; 结束,整个语句用 case 倒过来 esac 结束。

🖐️ 动手时刻:猜数字游戏

编写 guess.sh,让脚本想一个数字,你去猜。

  1. 编写脚本:
    #!/bin/bash
    target=8
    echo "韦爵爷想了一个数字(0-9),你猜猜是多少?"
    
    while read guess
    do
        if [ $guess -eq $target ]
        then
            echo "恭喜你!猜对了!"
            break  # 猜对就跳出循环
        elif [ $guess -lt $target ]
        then
            echo "猜小了,再大点!"
        else
            echo "猜大了,再小点!"
        fi
        echo "请继续猜:"
    done
                        
  2. 运行: bash guess.sh