三分鐘掌握linux shell腳本流程控制語法

流程控制

本文章原創首發於公衆號:編程三分鐘shell

這一次咱們的主題是shell腳本中的流程控制,gif動圖所見即所得,語法以下。編程

if else

#!/bin/bash

if [ $1 == $2 ];then

   echo "a == b"

elif [ $1 -gt $2 ];then

   echo "a > b"

elif [ $1 -lt $2 ];then

   echo "a < b"

else

   echo "error"

fi

for 循環

#!/bin/bash

for loop in 1 2 3 4 5

do

    echo "The value is: $loop"

done

image.png

while 循環

#!/bin/bash
i=0
while [[ $i<3 ]]
do
    echo $i
    let "i++"
done

輸出bash

while的判斷條件能夠從鍵盤輸入,成爲交互式的腳本編程語言

#!/bin/bash
echo 'press <CTRL-D> exit'
while read num
do
    echo "you input is $num"
done

ps: until循環與while循環相反,until直到判斷條件爲真才中止,語法同while徹底同樣就很少介紹了。oop

死循環

while true

do

    command

done

或者code

for (( ; ; ))
do
    command
done

死循環,使用Ctrl+C退出。blog

跳出循環

就是continuebreakinput

case

#!/bin/bash
case $1 in
    1) echo 'You have chosen 1'
    ;;
    2) echo 'You have chosen 2'
    ;;
    *) echo 'You did not enter a number between 1 and 2'
    ;;
esac

同編程語言中的switch同樣,只有語法略微不一樣 ,esaccase的結束符。it

每一個模式,用右括號結束),若是沒有任何匹配的就用*),每一個模式用;;兩個分號連一塊兒結束。class

case 值 in

模式1)

    command1

    command2

    ...

    commandN

    ;;

模式2)

    command1

    command2

    ...

    commandN

    ;;

esac

image.png

相關文章
相關標籤/搜索