如何實(shí)現(xiàn)Shell兩種for循環(huán)-創(chuàng)新互聯(lián)

這篇文章主要為大家展示了如何實(shí)現(xiàn)Shell兩種for循環(huán),內(nèi)容簡而易懂,希望大家可以學(xué)習(xí)一下,學(xué)習(xí)完之后肯定會有收獲的,下面讓小編帶大家一起來看看吧。

目前成都創(chuàng)新互聯(lián)已為上千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間網(wǎng)站托管、企業(yè)網(wǎng)站設(shè)計(jì)、新河網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。

前言:

  生產(chǎn)環(huán)境中的應(yīng)用場景:根目錄下建立數(shù)量不等的目錄,掛載不同的硬盤,按sdb-sdn的順序?qū)?yīng)/data2-/datan,就需要for循環(huán)嵌套來解決,寫成如for i in 1 2 3 ,for j in a b c,1a,2b,3c這樣而for循環(huán)似乎并不支持for的一一對應(yīng),寫出來執(zhí)行的話,會變成第一個(gè)循環(huán)只對應(yīng)第二個(gè)循環(huán)的第一個(gè)變量的這種情況,花了點(diǎn)時(shí)間嘗試,最終用兩種不同的方式得以實(shí)現(xiàn),分別是使用第三個(gè)變量替代和使用數(shù)組為變量編號的方法,直接用實(shí)例來說明:

變量替代:

  簡單的說就是先插入一條不相干的數(shù)據(jù),然后使用sed來進(jìn)行替換。

for i in $every;do
#$erery表示系統(tǒng)掛載的硬盤,挨個(gè)分區(qū),并將臟數(shù)據(jù)wwwdata1以配置文件格式寫入fstab

    parted -s /dev/$i mklabel gpt &>/dev/null || echo "${i}part01出現(xiàn)問題,請檢查"
    parted -s /dev/$i mkpart Primary 1 `parted /dev/$i p|grep "^Disk"|cut -d ":" -f2` &>/dev/null || echo "${i}part02出現(xiàn)問題,請檢查"
    mkfs -T largefile -t ext4 -b 4096 -m 2 /dev/${i}1 &>/dev/null || echo "${i}mkfs出現(xiàn)問題,請檢查"
    echo "/dev/${i}1 /wwwdata1 ext4 defaults 0 0" >> /etc/fstab
    echo "-${i}磁盤格式化分區(qū)完成-" && sleep 2
done
for a in $foldername;do

#$foldername表示文件夾名稱,使用sed替換wwwdata1,每次使用變量替換一次wwwdata1,即可達(dá)成目的。
sed -i 0,/wwwdata1/s//${a}/ /etc/fstab && echo "-${a}文件夾已掛載磁盤-" && sleep 1 || echo "-${a}掛載失敗-" done

新聞標(biāo)題:如何實(shí)現(xiàn)Shell兩種for循環(huán)-創(chuàng)新互聯(lián)
文章位置:http://muchs.cn/article2/ddsdoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google、建站公司網(wǎng)站策劃、定制網(wǎng)站營銷型網(wǎng)站建設(shè)、軟件開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司