日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Shell脚本中循环语句for,while,until用法

發布時間:2023/12/19 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell脚本中循环语句for,while,until用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

循環語句:

BashShell中主要提供了三種循環方式:forwhileuntil

一、for循環

??for循環的運作方式,是講串行的元素意義取出,依序放入指定的變量中,然后重復執行含括的命令區域(在dodone 之間),直到所有元素取盡為止。

? 其中,串行是一些字符串的組合,彼此用$IFS所定義的分隔符(如空格符)隔開,這些字符串稱為字段。

for的語法結構如下:

?

1.for?變量?in?串行

2.do

3.執行命令

4.done

說明:

?1,講串行中的字段迭代放入變量中

?2-4,接著將重復執行dodone之間的命令區域,直到串行中每一個字段軍處理過為止。

流程圖:

用例1

?for循環在家目錄下創建aaa1-aaa10,然后在aaa1-aaa10創建bbb1-bbb10的目錄

?

01.#!/bin/bash

02.for?k?in?$(?seq?1 10 )

03.do

04.mkdir?/home/kuangl/aaa${k}

05.cd?/home/kuangl/aaa${k}

06.for?l?in?$(?seq?1 10 )

07.do

08.mkdir?bbb${l}

09.cd?/home/kuangl/aaa${k}

10.done

11.cd?..

12.done

說明:

?2seq 用于產生從某個數到另外一個數之間的所有整數。

?4,在家目錄下創建文件夾。

?6,在使用一個for循環創建文件夾

測試結果:

01.[root@test01kuangl]# ll

02.total 80

03.drwxr-xr-x 12root?? root?? 4096 Jul 20 01:23 aaa1

04.drwxr-xr-x12 root?? root?? 4096 Jul 20 01:23 aaa10

05.drwxr-xr-x 12root?? root?? 4096 Jul 20 01:23 aaa2

06.drwxr-xr-x12 root?? root?? 4096 Jul 20 01:23 aaa3

07.drwxr-xr-x 12root?? root?? 4096 Jul 20 01:23 aaa4

08.drwxr-xr-x12 root?? root?? 4096 Jul 20 01:23 aaa5

09.drwxr-xr-x 12root?? root?? 4096 Jul 20 01:23 aaa6

10.drwxr-xr-x12 root?? root?? 4096 Jul 20 01:23 aaa7

11.drwxr-xr-x 12root?? root?? 4096 Jul 20 01:23 aaa8

12.drwxr-xr-x12 root?? root?? 4096 Jul 20 01:23 aaa9

13.[root@test01kuangl]# cd? aaa1

14.[root@test01aaa1]# ll

15.total 40

16.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb1

17.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb10

18.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb2

19.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb3

20.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb4

21.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb5

22.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb6

23.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb7

24.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb8

25.drwxr-xr-x 2root root 4096 Jul 20 01:23 bbb9

用例2

?列出var目錄下各子目錄占用磁盤空間的大小。

?

1.#!/bin/bash

2.DIR="/var"

3.cd?$DIR

4.for?k?in?$(ls?$DIR)

5.do

6.[ -d $k ]&&?du?-sh $k

7.done

說明:

?4,對/var目錄中每一個文件,進行for循環處理。

?6,如果/var下的文件是目錄,則使用du -sh計算該目錄占用磁盤空間的大小。

測試結果:

?

01.[root@test01scripts]# ./var.sh

02.276M???cache

03.4.0K???cvs

04.84K db

05.8.0K???empty

06.4.0K????ftp

07.4.0K???games

08.4.0K???gdm

09.21G lib

10.4.0K????local

11.16K lock

12.7.4G???log

13.4.0K???logs

14.0??mail

15.4.0K???nis

16.4.0K???opt

17.4.0K???preserve

18.336K???run

19.3.7G???spool

20.212K???tmp

21.4.1G???www

22.4.0K???yp

二、while循環

while循環的語法:

?

1.while?條件測試

2.do

3.執行命令

4.done

說明:

?1,首先進行條件測試,如果傳回值為0(條件測試為真),則進入循環,執行命令區域,否則

不進入循環,介紹while 命令

?3,執行命令區域,這些命令中,應該要有改變條件測試的命令,這樣,才有機會在

有限步驟后結束執行while循環(除非想要執行無窮循環)。

?4,回到行1,執行while命令

流程圖

用例1

?while循環,經典的用法是搭配轉向輸入,讀取文件的內容,做法如下:

?

1.#!/bin/bash

2.while?read?kuangl

3.do

4.echo?${kuangl}

5.done?</home/kuangl/scripts/testfile

說明:

?2,使用read有標準輸入讀取數據,放入變量kuangl中,如果讀到的數據非空,就進入循環。

?4,把改行數據顯示出來

?5,將/home/kuangl/scripts/testfile的內容轉向輸入將給read讀取。

測試結果:

?

1.[root@test01scripts]# ./while_test01.sh

2.aaaaaaa

3.bbbbbbb

用例2

?

01.#!/bin/bash

02.declare?-i i=1

03.declare?-i?sum=0

04.while?((i<=10))

05.do

06.let?sum+=i

07.let?++i

08.done

09.echo?$sum

說明:

?2-3,聲明isum為整數型

?4,如果條件測試:只要i值小于或者等于10,就執行循環。

?6sum+=isum=sum+i是一樣的,sum累加上i

?7i的值遞增1,此行是改變條件測試的命令,一旦i大于10,可終止循環。

?8,遇到done,回到行6去執行條件測試

?9,顯示sum的值為55

測試結果:

1.[root@test01scripts]# ./while_02.sh

2.55

三、until循環

while循環的條件測試是測真值,until循環則是測假值。

until循環的語法:

?

1.until?條件測試

2.do

3.執行命令

4.done

說明:

?1,如果條件測試結果為假(傳回值不為0),就進入循環。

?3,執行命令區域。這些命令中,應該有改變條件測試的命令,這樣子,才有機會在有限步驟后結束執行until循環(除非你想要執行無窮循環)。

?4,回到行1,執行until命令。

流程圖:

用例1

?

01.#!/bin/bash

02.declare?-i i=10

03.declare?-i?sum=0

04.until?((i>10))

05.do

06.let?sum+=i

07.let?++i

08.done

09.echo?$sum

說明:

?2-3,聲明isum為整數型

?4,如果條件測試:只要i值未超過10,就進入循環。

?6sum+=isum=sum+i是一樣的,sum累加上i

?7i的值遞增1,此行是改變條件測試的命令,一旦i大于10,可終止循環。

?8,遇到done,回到行6去執行條件測試

?9,顯示sum的值為10

測試結果:

?

1.[root@test01scripts]# ./until_test01.sh

2.10

?


轉載于:https://blog.51cto.com/520tom/1629960

總結

以上是生活随笔為你收集整理的Shell脚本中循环语句for,while,until用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 性欧美videossex精品 | 女人张开双腿让男人捅 | 伊人在线视频 | 国产精品每日更新 | 1000部国产精品成人观看 | 国产黄色免费网站 | 天天艹夜夜 | m3u8成人免费视频 | 亚洲xxxx天美 | 欧美大尺度做爰啪啪床戏明星 | 日韩一级黄色片 | 99热最新网址 | 久久精品5 | 在线免费激情视频 | 中文字幕精品一区二区三区视频 | 日韩视频免费在线 | 天天干天天干天天干 | 欧美在线xxx | 人人澡人人爱 | 日本少妇在线 | 女儿的朋友5中汉字晋通话 欧美成人免费高清视频 | 久久久久久国产精品 | 亚洲一页 | 国产精品一区二区电影 | 人人妻人人澡人人爽人人欧美一区 | 国产精品一区二区视频 | 男女做爰猛烈高潮描写 | 狠狠91| 大香依人 | 乱人伦xxxx国语对白 | 亚洲熟妇一区二区三区 | 一本大道东京热无码aⅴ | 丁香婷婷在线观看 | 久久久久久久久久久99 | 毛片在线观看网站 | 欧美在线三区 | 久久久久久中文 | 99av国产精品欲麻豆 | 看黄网站在线观看 | 中文字幕久久久 | 国产麻豆久久 | 国语对白少妇spa私密按摩 | 啪啪自拍视频 | 日本黄网站在线观看 | 超碰超碰超碰超碰 | 日本道中文字幕 | 蜜桃传媒一区二区亚洲 | 日本久久精品 | 天狂传说之巴啦啦小魔仙 | 伊人久久国产精品 | 免费毛片播放 | 欧美日韩高清在线播放 | 粉嫩一区二区三区 | 亚洲福利影院 | 可以在线观看的黄色 | av在线资源 | 亚洲午夜在线视频 | 三级视频黄色 | 精品国产乱码久久久久久闺蜜 | 午夜在线视频播放 | 激情久久网 | 久久中文字幕一区二区 | 天天干人人 | 国产h片在线观看 | 亚洲综合视频在线观看 | 1024手机在线观看 | 男女激情视频网站 | 成人av综合| 国产成人精品亚洲日本在线观看 | 国产精品久久无码 | 麻豆网| 成人性做爰aaa片免费看不忠 | 欧美老肥妇做.爰bbww视频 | 国产婷婷色一区二区 | 欧美日韩加勒比 | 欧美日韩视频一区二区三区 | 波多野结衣家庭主妇 | 欧美高清在线视频 | 蜜桃在线一区二区三区 | va欧美 | 亚洲欧洲日韩在线 | 国产精品久久久久久久成人午夜 | 精品国产系列 | 国内精品久久久久久久久久 | 国产99久久九九精品无码 | 久久精品国产亚洲av久一一区 | 青草视频免费在线观看 | 亚洲第一视频网站 | 老鸭窝av在线 | www四虎影院| 在线国产视频一区 | 国产不卡在线观看视频 | 精品少妇theporn| 日韩激情影院 | 欧美老熟妇一区二区三区 | 综合国产一区 | 在办公室被c到呻吟的动态图 | 调教91| 91精品国产一区二区三竹菊影视 |