<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本篇是shell程式設計for迴圈的實現過程以及一些案例
什麼是for迴圈
讀取不同的變數值,用來逐個執行同一組命令
for 變數名 in 取值列表
do
命令序列
done
#用變數名去取值,然後挨個執行命令,其實就是一個遍歷的過程
迴圈體中三種專業的話術:遍歷、迭代、遞迴
[root@bogon ~]# for i in {1..10} > do > echo $i > done 1 ... 10 [root@bogon ~]# for i in $(seq 1 10); do echo $i; done 1 ... 10 #分號可以使互動式的命令在一行執行 [root@bogon ~]# for ((i=1;i<=10;i++)); do echo $i; done 1 ... 10 #類似於java、c語言
使用者名稱存放在users.txt檔案中,每行一個初始密碼均設為000000
[root@bogon sh]# vim addusers.sh #!/bin/bash #demo add users for USER in $(cat /data/users.txt) do useradd $USER echo "000000" |passwd --stdin $USER done
IP地址存放在ipadds.txt檔案中,每行一個使用ping命令檢測各主機的連通性
[root@bogon sh]# vim testping.txt #!/bin/bash #demo test ping for host in $(cat /data/ip.txt) do ping -c 3 -i 0.5 -w 2 $host &> /dev/null if [ $? -eq 0] then echo "$host is online" else echo "$host is offline" fi done
[root@bogon sh]# vim testping.txt #!/bin/bash #demo test ping 192.168.109.0/24 for host in {1..254} do ping -c 3 -i 0.5 -w 2 192.168.109.$host &> /dev/null if [ $? -eq 0] then echo "$host is online" else echo "$host is offline" fi done
字串分片
i="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" 0 61 ${i:n:m} #i是變數名,n是開始取值的下標,下標從0開始,m是取值長度 ${#變數名} #取字串長度 echo ${i:3:3} #取值456 echo ${i:7:1} #取值8 變數1+=變數2 #字串追加
生成亂數
echo $[$RANDOM % 62] #生成0-61的亂數 echo $[$RANDOM % ${#i}] #生成該變數名長度以內的亂數 num=$($[$RANDOM % ${#i}]) for i in {1..8} do echo ${i:$num:1} done #從i變數值中取亂數,每次取一個,取8次
範例程式碼
[root@localhost sh]# vim random.sh #!/bin/bash #隨機生成8位元隨機密碼 #定義密碼取值範圍 String="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" #迴圈8次 for i in {1..8} do #每次迴圈隨機獲取0到字串長度-1的下標值 num=$[RANDOM % ${#String}] #進行字串擷取 var=${String:num:1} #每次追加生成密碼 passwd+=$var done echo "本次生成的隨機密碼為:$passwd"
總的來說for迴圈還是比較簡單的只要理解他的固定格式就行
for 變數名 in 取值列表
do
命令序列
done
#用變數名去取值,然後挨個執行命令,其實就是一個遍歷的過程
到此這篇關於shell程式設計中for迴圈語句實現的文章就介紹到這了,更多相關shell for迴圈語句內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45