02.循環(huán)和語(yǔ)句

1. if語(yǔ)句

1.1 單分支

if [ 條件 ]
  then
    命令
fi

說(shuō)明:如果滿足條件,則執(zhí)行命令,否則不執(zhí)行該if語(yǔ)句。

1.2 雙分支

if [ 條件 ]
  then
    命令1
  else
    命令2
fi

如果滿足條件,則執(zhí)行命令1,否則執(zhí)行命令2。

1.3 多分支

if [ 條件1 ]
  then
    命令1
  elif [ 條件2 ]
    命令2
……
  else
    命令n
fi
  • 如果滿足條件1,則執(zhí)行命令1;如果滿足條件2,則執(zhí)行命令2;否則執(zhí)行命令n。
  • elif 可以寫(xiě)多個(gè)

2. for循環(huán)

2.1 shell風(fēng)格

2.1.1 語(yǔ)法

for 變量名 in 列表
  do
    循環(huán)體
done

in后邊寫(xiě)一個(gè)列表即可,不必加括號(hào)、引號(hào)之類。方法如下:

2.1.2 直接列出列表內(nèi)容

for i in 1 2 3

for i in [1,2,3]

2.1.3 連續(xù)的列表

for i in [1..10]

2.1.4 執(zhí)行命令創(chuàng)建的列表

  • 語(yǔ)法
for i in $(命令)
  • 利用seq命令
for i in $(seq 200) #從1~200
for i in $(seq 100 200) #從100~200
  • 利用cat/ls等命令
for i in $(cat 文件名)

2.2 C語(yǔ)言風(fēng)格

for ((i=0;i<=100;i++))
  do
    循環(huán)體
done

2.3 命令行執(zhí)行for循環(huán)

  • 語(yǔ)法
# for 條件;do 循環(huán)體;done

說(shuō)明:為了方便,可以把循環(huán)題用括號(hào)擴(kuò)起來(lái)。

  • 條件
    shell風(fēng)格和C語(yǔ)言風(fēng)格都可用

  • 示例

# for((i=0;i<=10;i++));do echo $i;done

# for i in $(seq 10);do echo $i ;done

# for i in `cat 1.txt`;do echo $i;done

2.4 awk的for循環(huán)

說(shuō)明:每行打印10遍

# awk '{for(i=0;i<=10;i++){print $0}}' 1.txt

3. while循環(huán)

3.1 語(yǔ)法

while 條件
  do
    循環(huán)體
done

3.2 示例

while [ $i -gt 10 ]
while 0

4. case語(yǔ)句

4.1 語(yǔ)法

case $變量 in
  "值1")
    命令1-1;
    命令1-2;;
  "值2")
    命令2;;
……
  *)
    命令n;;
esac

4.2 值與正則

  • 值表示一個(gè)連續(xù)范圍:[1-9]
  • 值表示連個(gè)其中一個(gè):A|B
case i in
  "[1-5]")
    echo 'cat';;
  "6|7")
    echo 'dog';;
……
  *)
    命令n;;
esac

5. 循環(huán)控制

  • exit
    退出整個(gè)程序

  • break
    結(jié)束當(dāng)前循環(huán),跳出本層循環(huán)

  • break1
    跳出一層循環(huán),break2 跳出兩層循環(huán)。

  • continue
    跳出本循環(huán)剩余代碼

  • next 下一行


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容