国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統(tǒng) > Linux > 正文

linux shell循環(huán):for、while、until用法詳解

2024-08-28 00:03:37
字體:
供稿:網(wǎng)友

學(xué)習(xí)腳本就是為了方便我們運(yùn)維工作,而對(duì)運(yùn)維人員從來講,有很多工作也是需要重復(fù)執(zhí)行的,比如我們管理用戶帳戶時(shí)就需要批量創(chuàng)建和刪除用戶帳戶。而此時(shí)如果使用系統(tǒng)自帶的useradd或者userdel去操作的話,就只能機(jī)械式的一個(gè)一個(gè)創(chuàng)建,一個(gè)一個(gè)的刪除。那我們是不是就可以考慮寫一個(gè)程序,讓它自動(dòng)化的去創(chuàng)建了。此時(shí),我們的循環(huán)執(zhí)行概念也就出來了。循環(huán)就是讓程序按照一定的條件反復(fù)的執(zhí)行相關(guān)操作,直到不在滿足循環(huán)條件時(shí)結(jié)束。

循環(huán)語句常見分類:

1,for語句
2,while語句
3,until語句

循環(huán)體包括兩部分:
1,循環(huán)的進(jìn)入條件
2,循環(huán)的退出條件

循環(huán)次數(shù):
1,事先已知 for語句
2,事先未知 while、until語句

for循環(huán)常見語法格式:

for 變量名 in 列表;do
循環(huán)體
done

循環(huán)執(zhí)行機(jī)制:依次將列表中的元素賦值給變量名,每次賦值后執(zhí)行一次循環(huán)體,直到列表中的元素耗盡,循環(huán)結(jié)束

列表生成方式:
(1) 直接給出列表
(2) 整數(shù)列表:
(a) {start..end} 如:{1..10}
(b) $(seq [start [step]] end) 如:`seq 1 2 100` 表示1-100之間的所有奇數(shù)
(3) 返回列表的命令 $(COMMAND) 如:`ls /etc`
(4) 使用glob,如:*.sh
(5) 變量引用;$@, $*

for循環(huán)特殊用法:
雙小括號(hào)方法,即((…))格式,也可以用于算術(shù)運(yùn)算
雙小括號(hào)方法也可以使bash Shell實(shí)現(xiàn)C語言風(fēng)格的變量操作
#I=10
#((I++))

for循環(huán)特殊用法格式:
for ((控制變量初始化;條件判斷表達(dá)式;控制變量的修正表達(dá)式));do
循環(huán)體
done

控制變量初始化:僅在運(yùn)行到循環(huán)代碼段時(shí)執(zhí)行一次控制變量的修正表達(dá)式:每輪循環(huán)結(jié)束會(huì)先進(jìn)行控制變量修正運(yùn)算,而后再做條件判斷for循環(huán)應(yīng)用實(shí)例:

1,計(jì)算1-100之間所有正整數(shù)的和

#!/bin/bash#Author:wangjun#Contact QQ:183530300#Version:1.0#Create time:2016-08-17 16:53:28#Description:1-100 all positive integer's sumdeclare -i sum=0for I in {1..100};do let sum+=$Idoneecho "1-100 all positive integer's sum : $sum"

2,自動(dòng)掃描1-254網(wǎng)段的所有主機(jī),統(tǒng)計(jì)在線主機(jī)數(shù)與不在線主機(jī)數(shù)

#!/bin/bash #Author:wangjun#Contact QQ:183530300#Version:1.0#Create time:2016-08-17 11:25:37#Description:ping all hosts and count the numberdeclare -i online=0declare -i offline=0declare -i host=1 for host in `seq 254`;do ping -c 1 -W 1 10.1.250.$host &> /dev/null && echo "10.1.250.$host is online" && let online=$online+1 || let offline++doneecho "Online hosts number : $online"echo "Offline hosts number : $offline"

3,生成10個(gè)隨機(jī)數(shù),并找出最大隨機(jī)數(shù)和最小隨機(jī)數(shù)

#!/bin/bash#Author:wangjun#Contact QQ:183530300#Version:1.0#Create time:2016-08-17 17:27:45#Description:random number comparativeminrandom=$RANDOMmaxrandom=$minrandomecho $minrandomfor I in {1..9};do RD=$RANDOM echo $RD if [[ $RD -gt $maxrandom ]];then  maxrandom=$RD elif [[ $RD -lt $minrandom ]];then  minrandom=$RD fidoneecho "Minrandom is : $minrandom"echo "Maxrandom is : $maxrandom"

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 巍山| 体育| 太白县| 岢岚县| 山东省| 晋宁县| 封丘县| 新巴尔虎左旗| 西安市| 苏尼特左旗| 乐清市| 东山县| 广昌县| 邵武市| 磐安县| 丰台区| 江川县| 武宁县| 岳普湖县| 昂仁县| 平阳县| 布拖县| 拜城县| 博爱县| 类乌齐县| 巴马| 房山区| 贵德县| 阿克陶县| 蒲城县| 永寿县| 上虞市| 抚远县| 云浮市| 德州市| 景东| 涞水县| 张家港市| 保德县| 高平市| 新巴尔虎左旗|