成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Linux Bash Shell-小循環(huán)大用處

系統(tǒng) Linux
循環(huán)是一門與生俱來的藝術(shù),它可以使你的工作更簡單,并幫助你相對輕松地自動化重復(fù)性任務(wù)。

當(dāng)你可以讓 for 循環(huán)為你執(zhí)行相同的代碼時(shí),為什么還要在你的 shell 腳本中一次又一次地運(yùn)行相同的代碼呢?

循環(huán)是一門與生俱來的藝術(shù),它可以使你的工作更簡單,并幫助你相對輕松地自動化重復(fù)性任務(wù)。

想象一種情況,你需要更新一系列數(shù)字或文本,不要手動執(zhí)行,而是讓系統(tǒng)為你執(zhí)行。這就是循環(huán)的力量以及它為你帶來的好處。

循環(huán)作為一種函數(shù),幾乎在所有編程語言中都可用。Linux 的 Bash 也不例外。

這篇是一個(gè)指南文章,解釋了如何在 shell 腳本中使用 for 循環(huán)。

for 循環(huán)結(jié)構(gòu)

在 shell 腳本中使用 for 循環(huán)相當(dāng)簡單,你可以操縱結(jié)構(gòu)來實(shí)現(xiàn)不同的目標(biāo)。

基本結(jié)構(gòu)如下:

for item in [LIST]
do
[COMMANDS]
done

使用循環(huán),你可以根據(jù)時(shí)間的需要在數(shù)字和字符值之間循環(huán)。

這是 shell 腳本中 for 循環(huán)的結(jié)構(gòu):

for VARIABLE in 1 2 3 4 5 .. N
do
command1
command2
commandN
done

你可以在第一行定義迭代次數(shù)。這樣,你將提及起始值和結(jié)束值。

迭代次數(shù)由你指定的值確定,而do語句后面的代碼是生成的循環(huán)值。

在 Linux Bash 中創(chuàng)建和運(yùn)行 for 循環(huán)

打開 Linux 終端開始編寫代碼。

文本編輯器用于存儲 shell 腳本,該腳本在執(zhí)行時(shí)打印所需的結(jié)果。出于說明目的,本指南中的命令是在nano文本編輯器中編寫的。

在終端命令行中輸入nano以打開文本編輯器,然后輸入 shell 腳本名稱。

linuxmi@linuxmi:~/www.linuxmi.com$ nano LinuxMi.com.sh

你可以將 shell 腳本的名稱更改為你喜歡的任何名稱。擴(kuò)展名為sh,因?yàn)槟銓⒋鎯σ粋€(gè) shell 腳本。

使用 for 循環(huán)打印整數(shù)

在本節(jié)中,以下代碼將演示如何以不同方式打印整數(shù)值。要在 shell 腳本中使用 for 循環(huán)來打印整數(shù),你可以嘗試其中一些代碼示例。

1.循環(huán)代碼打印一組數(shù)字

編輯器打開后,就該編寫代碼了。

#!/usr/bin/bash
for i in 1 2 3
do
echo "Current # $i"
done

輸出:

說明:

  • i = 存儲迭代值的變量名
  • 1 2 3 = shell 腳本中 for 循環(huán)的迭代次數(shù)
  • do = 執(zhí)行一組特定動作的命令
  • echo = 打印旁邊定義的結(jié)果
  • done = 循環(huán)結(jié)束

按Ctrl + X將代碼保存在文本編輯器中。保存并退出腳本。

在執(zhí)行代碼之前,你必須更改 shell 腳本的權(quán)限。

輸入chmod +x后跟你的 shell 腳本文件名:

linuxmi@linuxmi:~/www.linuxmi.com$ chmod +x LinuxMi.com.sh

授予權(quán)限后,通過鍵入以下內(nèi)容在 shell 腳本中運(yùn)行 for 循環(huán):

linuxmi@linuxmi:~/www.linuxmi.com$ ./LinuxMi.com.sh

輸出將打印在終端窗口中。

2. 打印一組數(shù)字的替代方法

在 shell 腳本中定義 for 循環(huán)還有其他方法。你還可以使用大括號指定循環(huán)迭代的開始值和結(jié)束值。

下面是代碼結(jié)構(gòu):

for i in {1..3} # for循環(huán)定義了一個(gè)變量,以及要通過一個(gè)循環(huán)進(jìn)行多少次迭代
do
echo "當(dāng)前值 # $i: 示例 2"
done

循環(huán)將運(yùn)行 3 次,值將按以下方式打印:

3. 使用步長值的循環(huán)代碼

如果你想在迭代中不連續(xù)地移動,你可以在循環(huán)中定義步長值。根據(jù)指定的值,輸出將有一個(gè)固定的間隙。

例如:

for i in {1..10..2}
do
echo "Number = $i"
done

說明:

  • i = 存儲迭代的變量
  • 1..10 = 運(yùn)行循環(huán)的迭代次數(shù)
  • 2 = 階躍值
  • do = 命令打印輸出
  • echo = 打印命令
  • done = 循環(huán)的退出命令

輸出:

輸出相差 2,這是在 step 語句中指定的。

使用 for 循環(huán)打印字符值

shell 腳本中的 for 循環(huán)不僅限于整數(shù)。在 Bash 中,你可以使用 for 循環(huán)來有效地遍歷字符和字符串值。

1. 遍歷字符串

這是一個(gè)基本示例,說明如何遍歷一些字符串值(在 for 語句中定義):

for name in LinuxMi linuxmi.com www.linuxmi.com
do
echo "My name is $name"
done

說明:

  • name = 存儲字符串值的變量
  • do = 命令打印輸出
  • echo = 打印命令
  • done = 循環(huán)的退出命令

輸出:

這個(gè) for 循環(huán)將迭代 3 次,因?yàn)樵趂or語句中只指定了三個(gè)字符串值。

2. 循環(huán)遍歷有條件的字符串

如果你想傳遞一些邏輯條件來中途終止循環(huán)怎么辦?為此,你可以使用邏輯語句,例如IF語句。IF 語句控制循環(huán)的工作方式以及結(jié)果將打印什么輸出。

for distro in LinuxMi Debian CentOS Ubuntu; do
if [[ "$distro" == 'CentOS' ]]; then
break
fi
echo "distro: $distro"
done
echo '全部完成!'

只要 distro 的值等于 CentOS,循環(huán)就會終止,并打印輸出。循環(huán)運(yùn)行直到不再滿足條件。

由于 CentOS 在值列表中排名第三,因此循環(huán)將運(yùn)行兩次迭代,然后打印最終輸出全部完成!

在 Linux Bash 中運(yùn)行循環(huán)

循環(huán)是 Linux shell 結(jié)構(gòu)中必不可少的一部分,它可以極大地增強(qiáng) Linux 腳本的功能。

如果你必須打印重復(fù)的輸出,沒有什么比 Bash 腳本中的循環(huán)更好的了。正如我們前面提到的,幾乎所有編程語言都可以使用循環(huán),Python 也不例外。減少重復(fù)并遵循 DRY(不要重復(fù)自己)代碼。

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

2009-12-01 08:54:30

Linux發(fā)行版

2009-03-15 10:01:54

Firefox瀏覽器分頁

2025-04-23 09:47:57

開發(fā)場景請求

2020-10-14 10:58:48

JavaScript工具Gitee

2021-12-26 22:53:42

5G基站技術(shù)

2010-06-23 16:35:50

Linux Bash

2010-06-23 17:37:14

Linux Bash

2010-06-23 17:34:03

Linux Bash

2019-08-05 13:41:24

5GVRAR

2022-03-28 11:10:35

ShellBash forLinux

2010-06-23 16:31:10

Linux Bash

2010-06-23 17:29:07

Linux Bash

2010-06-23 17:16:33

Linux Bash

2022-08-21 16:52:27

Linux虛擬內(nèi)存

2010-06-23 11:09:14

Linux Bash

2010-06-23 16:05:36

Linux Bash

2023-07-27 17:41:02

BashZshFish

2020-07-01 18:31:14

Linuxbash永遠(yuǎn)循環(huán)

2010-06-23 15:55:36

Linux Bash
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 精品国产一区久久 | 性一交一乱一伦视频免费观看 | 成在线人视频免费视频 | 免费在线观看黄网站 | 欧美国产精品一区二区三区 | 五月网婷婷 | 亚洲一区免费 | 久久精品欧美一区二区三区不卡 | 91精品久久久 | 香蕉二区 | 日韩欧美亚洲 | 精品日韩一区 | 香蕉国产在线视频 | 欧美无乱码久久久免费午夜一区 | 国产精品久久免费观看 | 日韩在线免费视频 | 欧美一区二区三区在线观看 | 激情网五月天 | 欧美福利 | 国产精品一区二区三 | 毛片区| a级在线 | 国产性网 | 国产精品久久久久久吹潮日韩动画 | 午夜免费福利电影 | 国产黄色av电影 | 日韩免费一级 | 成人美女免费网站视频 | 男女羞羞视频在线免费观看 | 成人在线观看中文字幕 | 亚洲福利一区二区 | 国产 91 视频 | 男人久久天堂 | 日本不卡一区 | 欧美日韩在线一区二区三区 | 在线国产视频观看 | 亚洲入口| 国产精品免费一区二区三区四区 | 国产午夜精品久久久 | 粉嫩一区二区三区性色av | 97视频久久 |