自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Shell 教程:編寫 BASH 'for'循環(huán)的正確姿勢

系統(tǒng) Linux
在編程或腳本語言中,Bash 提供了幾種重復(fù)代碼的方法 - 稱為循環(huán)的過程 - 其中 for 循環(huán)重復(fù)代碼的某個部分。這允許運(yùn)行一系列命令,直到滿足特定條件。在本指南中,我們將向您介紹如何編寫 Bash for 循環(huán)。

本文我們要學(xué)會什么

  • 在 Bash for循環(huán)中, do和done之間的所有語句對列表或數(shù)字范圍中的每個項(xiàng)目執(zhí)行一次。
  • 對于大列表,使用in {list} 在起點(diǎn)和終點(diǎn)之間循環(huán)。使用省略號迭代整個數(shù)字范圍,例如{1..10} 中的數(shù)字。
  • 要跳過某些數(shù)字,請?jiān)诜秶鷥?nèi)添加第三個數(shù)字。例如,使用{0..100..10}僅列出每 10 個數(shù)字。

在編程或腳本語言中,Bash 提供了幾種重復(fù)代碼的方法 - 稱為循環(huán)的過程 - 其中 for 循環(huán)重復(fù)代碼的某個部分。這允許運(yùn)行一系列命令,直到滿足特定條件。在本指南中,我們將向您介紹如何編寫 Bash for 循環(huán)。

如何循環(huán)遍歷列表

諸如 Bash 之類的腳本語言具有與其他語言相似的編程結(jié)構(gòu)。例如,導(dǎo)入?yún)?shù)從鍵盤獲取輸入并將這些輸入存儲為變量,然后根據(jù)輸入?yún)?shù)的值執(zhí)行特定操作。

下面是一個名為linuxmi.sh 的簡單示例腳本:

#!/bin/bash
for number in 1 2 3 4 5
do
echo $number
done
exit 0

Bash 使用for循環(huán)的方式與其他編程和腳本語言處理for循環(huán)的方式有些不同。讓我們分解腳本。

在 BASH for循環(huán)中,do和done之間的所有語句對列表中的每個項(xiàng)目都執(zhí)行一次。在此示例中,列表是in單詞之后的所有內(nèi)容— 數(shù)字1 2 3 4 5。

每次循環(huán)迭代時,列表中的下一個值將插入到單詞for之后指定的變量中。在上面的循環(huán)中,變量被稱為number。

echo語句 在屏幕上顯示信息。因此,此示例采用數(shù)字 1 到 5,并將每個數(shù)字一一輸出到屏幕:

如何在起點(diǎn)和終點(diǎn)之間循環(huán)

這個 linuxmi.sh 腳本的問題在于,如果您想處理一個更大的列表(例如,1 到 500),則鍵入所有數(shù)字將花費(fèi)很長時間。相反,指定一個起點(diǎn)和終點(diǎn)就簡單了:

#!/bin/bash
for number in {1..10}
do
echo "$number "
done
exit 0

規(guī)則是一樣的。in這個詞后面的值組成了要迭代的列表,列表中的每個值都放在變量(即number)中,每次循環(huán)迭代時,都會執(zhí)行do和done之間的語句。

主要區(qū)別在于列表的形成方式。大括號表示一個范圍,在本例這種情況下,范圍是 1 到 10(兩個點(diǎn)分隔范圍的開始和結(jié)束)。

因此,此示例遍歷 1 到 10 之間的每個數(shù)字并將該數(shù)字輸出到屏幕。如下:

相同的循環(huán)可以這樣編寫,語法與第一個示例相同:

for number in 1 2 3 4 5 6 7 8 9 10

如何跳過范圍內(nèi)的數(shù)字

前面的示例展示了如何在起點(diǎn)和終點(diǎn)之間循環(huán)。以下是如何跳過范圍內(nèi)的數(shù)字。

例如,要在 0 和 100 之間循環(huán),但只顯示 10 的倍數(shù)的數(shù)字,請使用以下腳本獲取此輸出:

#!/bin/bash
for number in {0..100..10}
do
echo "$number "
done
exit 0

規(guī)則是一樣的。在do和done之間有一個列表、一個變量和一組要執(zhí)行的語句。這次的列表如下所示:{0..100..10}。

大括號中第一個數(shù)字是 0,結(jié)束數(shù)字是 100。第三個數(shù)字 (10) 是列表中將跳過的項(xiàng)目數(shù)。

因此,上面的示例顯示以下輸出:

一個實(shí)際的例子

For 循環(huán)不僅僅迭代數(shù)字列表。例如,使用其他命令的輸出作為列表。

以下示例顯示如何將音頻文件從MP3轉(zhuǎn)換為WAV:

#!/bin/bash
for file in ./*.mp3
do
mpg -w ./wavs/"${file}".wav "$file"
done

此示例中的列表是當(dāng)前文件夾中每個擴(kuò)展名為 .MP3 的文件,變量是一個文件。

mpg 命令將 MP3 文件轉(zhuǎn)換為 WAV。但是,您可能需要先使用包管理器安裝此工具。

責(zé)任編輯:龐桂玉 來源: Linux公社
相關(guān)推薦

2021-04-02 12:37:53

RestfulAPI接口架構(gòu)

2021-10-08 08:38:00

Pipelineshell命令Jenkins

2018-01-11 15:31:39

命令Linux關(guān)機(jī)

2017-02-23 15:37:44

OptionObject容器

2016-05-09 10:41:03

算法分析開發(fā)

2022-03-24 08:57:30

Linux BashShell代碼

2017-07-10 13:09:45

前端Flexbox

2017-03-16 11:39:33

Openstack源碼姿勢

2023-01-30 07:41:43

2017-10-12 11:30:34

Spark代碼PR

2021-01-08 08:10:34

MySQL表空間回收

2016-12-12 08:48:24

2019-12-27 15:58:57

大數(shù)據(jù)IT互聯(lián)網(wǎng)

2024-09-25 08:22:06

2021-09-15 16:20:02

Spring BootFilterJava

2019-10-30 17:06:50

AWS物聯(lián)網(wǎng)IoT

2016-01-05 11:28:20

按需付費(fèi)云計(jì)算docker

2019-01-02 10:49:54

Tomcat內(nèi)存HotSpot VM

2025-03-11 00:55:00

Spring停機(jī)安全

2017-06-19 17:43:04

網(wǎng)絡(luò)帶寬網(wǎng)絡(luò)設(shè)計(jì)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號