在Linux中,shell指令碼中的條件語句和迴圈結構是什麼?

黄嘉波發表於2024-03-27

在Linux中,shell指令碼是一種用於自動化任務和簡化系統管理的強大工具。其中,條件語句和迴圈結構是編寫複雜shell指令碼的基石。

一、條件語句

條件語句用於基於某個或多個條件的真假來決定執行哪個程式碼塊。在shell指令碼中,最常用的條件語句是if語句。

  1. 基本語法
if [ 條件表示式 ]  
then  
    # 如果條件為真,則執行這裡的程式碼  
else  
    # 如果條件為假,則執行這裡的程式碼  
fi
  1. 條件表示式
    • 使用[ ](方括號)或[[ ]](雙方括號)來包含條件表示式。
    • 使用比較運算子(如-eq表示等於,-ne表示不等於,-gt表示大於,-lt表示小於,-ge表示大於等於,-le表示小於等於)來比較數值。
    • 使用字串比較運算子(如=表示等於,!=表示不等於)來比較字串。
    • 使用檔案測試運算子(如-f表示是否為檔案,-d表示是否為目錄,-e表示是否存在)來檢查檔案或目錄的狀態。
  2. 示例
#!/bin/bash  
  
num1=10  
num2=20  
  
if [ $num1 -lt $num2 ]  
then  
    echo "num1 is less than num2"  
else  
    echo "num1 is not less than num2"  
fi
二、迴圈結構

迴圈結構允許指令碼重複執行某段程式碼,直到滿足特定的條件。在shell指令碼中,常用的迴圈結構有for迴圈和while迴圈。

  1. for迴圈

用於遍歷一系列元素(如陣列、列表或命令的輸出)並執行相同的操作。

基本語法

for 變數 in 列表  
do  
    # 執行操作  
done

示例

#!/bin/bash  
  
fruits=("apple" "banana" "cherry")  
  
for fruit in "${fruits[@]}"  
do  
    echo "I like $fruit"  
done
  1. while迴圈

只要指定的條件為真,就會一直執行迴圈體中的程式碼。

基本語法

while [ 條件表示式 ]  
do  
    # 執行操作  
done

示例

#!/bin/bash  
  
counter=0  
  
while [ $counter -lt 5 ]  
do  
    echo "This is iteration $counter"  
    counter=$((counter+1))  
done

綜上所述:這些條件語句和迴圈結構是shell指令碼中非常基礎且重要的部分,透過組合使用它們,可以構建出複雜且功能強大的自動化指令碼。

相關文章