Shell編程中常用的循環控制語句

一、for循環

for循環是Shell編程中最常用的循環控制語句之一,其基本語法如下:

for 變量名 in 循環列表
do
    循環體
done

其中,變量名用於保存每次迭代的值,循環列表可以是一組字符串或者一個命令的輸出結果。例如:

for i in 1 2 3 4 5
do
    echo $i
done

上面的代碼會輸出1到5,每個數字一行。如果使用命令的輸出結果進行循環,則需要使用反引號或者$(命令)的方式,例如:

for file in `ls /tmp`
do
    echo $file
done

for file in $(ls /tmp)
do
    echo $file
done

上面兩個代碼段都會輸出/tmp目錄下的文件名。

二、while循環

while循環是另一種常見的循環控制語句,其基本語法如下:

while 條件
do
    循環體
done

while循環會根據條件不斷地執行循環體,直到條件不成立為止。例如:

i=1
while [ $i -le 5 ]
do
    echo $i
    i=$((i+1))
done

上面的代碼會輸出1到5,每個數字一行。

三、until循環

until循環是和while循環相似的一種循環控制語句,其語法如下:

until 條件
do
    循環體
done

與while循環相反的是,until循環會在條件成立之前不斷地執行循環體,直到條件成立為止。例如:

i=1
until [ $i -gt 5 ]
do
    echo $i
    i=$((i+1))
done

上面的代碼會輸出1到5,每個數字一行。

四、break和continue語句

在循環中,有時候需要跳出循環或跳過某次循環,這時候可以使用break和continue語句。

break語句可以跳出當前的循環,例如:

for i in 1 2 3 4 5
do
    if [ $i -eq 3 ]
    then
        break
    fi
    echo $i
done

上面的代碼會輸出1和2,當$i等於3時跳出循環。

continue語句可以跳過當前的循環,直接開始下一次循環,例如:

for i in 1 2 3 4 5
do
    if [ $i -eq 3 ]
    then
        continue
    fi
    echo $i
done

上面的代碼會輸出1、2、4和5,當$i等於3時跳過本次循環。

五、案例:統計某個目錄下的文件數和目錄數

#!/bin/bash
dir=$1
if [ ! -d $dir ]
then
    echo "$dir is not a directory"
    exit 1
fi

file_count=0
dir_count=0

for file in $dir/*
do
    if [ -f $file ]
    then
        file_count=$((file_count+1))
    elif [ -d $file ]
    then
        dir_count=$((dir_count+1))
    fi
done

echo "File count: $file_count"
echo "Directory count: $dir_count"

上面的代碼可以統計某個目錄下的文件數和目錄數,其中使用了for循環和if語句。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/246439.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:15
下一篇 2024-12-12 13:15

相關推薦

  • Python3支持多行語句

    Python3是一種高級編程語言,開發人員可以輕鬆地使用該語言編寫簡單到複雜的代碼。其中Python3支持多行語句,方便開發人員編寫複雜的代碼,提高代碼的可讀性和可維護性。 一、使…

    編程 2025-04-29
  • Python 常用數據庫有哪些?

    在Python編程中,數據庫是不可或缺的一部分。隨着互聯網應用的不斷擴大,處理海量數據已成為一種趨勢。Python有許多成熟的數據庫管理系統,接下來我們將從多個方面介紹Python…

    編程 2025-04-29
  • Python for循環語句打印九九乘法表

    本篇文章將詳細介紹如何使用Python的for循環語句打印九九乘法表。打印九九乘法表是我們初學Python時經常練習的一項基礎操作,也是編寫Python程序的基本能力之一。 1、基…

    編程 2025-04-29
  • Shell腳本與Python腳本的區別

    本文將從多個方面對Shell腳本與Python腳本的區別做詳細的闡述。 一、語法差異 Shell腳本和Python腳本的語法存在明顯差異。 Shell腳本是一種基於字符命令行的語言…

    編程 2025-04-29
  • Python中while語句和for語句的區別

    while語句和for語句是Python中兩種常見的循環語句,它們都可以用於重複執行一段代碼。然而,它們的語法和適用場景有所不同。本文將從多個方面詳細闡述Python中while語…

    編程 2025-04-29
  • Python中自定義函數必須有return語句

    自定義函數是Python中最常見、最基本也是最重要的語句之一。在Python中,自定義函數必須有明確的返回值,即必須要有return語句。本篇文章將從以下幾個方面對此進行詳細闡述。…

    編程 2025-04-29
  • Python中升序排列的if語句

    本文將為大家介紹Python中升序排列的if語句。首先,我們來看一下如何實現。 if a > b: a, b = b, a if b > c: b, c = c, b …

    編程 2025-04-29
  • Python序列的常用操作

    Python序列是程序中的重要工具,在數據分析、機器學習、圖像處理等很多領域都有廣泛的應用。Python序列分為三種:列表(list)、元組(tuple)和字符串(string)。…

    編程 2025-04-28
  • Python輸出語句用法介紹

    Python作為一種高級編程語言,為編程帶來了極大的便利和快捷。而輸出語句則是Python編程中不可缺少的一部分,它能夠讓我們看到程序運行的結果、判斷程序的正確性和優化程序等。本文…

    編程 2025-04-28
  • Python語句大全

    本文將詳細闡述Python語句大全,並給出代碼實例。 一、基本語句 Python基本語句包括賦值語句、條件語句、循環語句等,其中最基礎的是賦值語句。如下: a = 1 b = 2 …

    編程 2025-04-28

發表回復

登錄後才能評論