linux bash and,linux bash shell中for的用法and示例
關(guān)于linux bash shell中的for語(yǔ)句
在linux中shell是必不可少的一部分,但是在bash shell中有while,for,until等循環(huán)命令,今天就介紹一下關(guān)于for的一些用法。文中任何錯(cuò)誤希望大佬們一一指出,不勝感激。
bash shell中提供了for命令,用于創(chuàng)建通過(guò)一系列值重復(fù)的循環(huán),每次重復(fù)使用系列中的一個(gè)值執(zhí)行一個(gè)定義的命令集。
for語(yǔ)句的基本格式如下:
for………in list
do
commands
done
在參數(shù)list中提供一系列用于迭代(上一個(gè)輸出的結(jié)果,這一句用來(lái)輸入)的值。指定列表中的值有幾種不同的方法。
一.讀取列表中的值。
for命令的最基本使用方法是通過(guò)在for命令中定義一列值來(lái)迭代。如下圖↓
執(zhí)行后如圖賦予t1的值一一被輸出出來(lái)!
若在列表中的值進(jìn)行迭代時(shí),將其他值賦予該變量還可以繼續(xù)使用,迭代的值是最后一個(gè)值。
輸出結(jié)果如下:
二.讀取列表中的復(fù)雜值。
若在shell中有特殊符號(hào)并且要前后一起輸出(下圖)該怎么辦呢?
竟然無(wú)法執(zhí)行,若遇到\ ‘ , .等特殊符號(hào)時(shí),可以使用反斜杠\來(lái)轉(zhuǎn)義特殊字符?;蛘哂秒p引號(hào)來(lái)定義使用上圖中的單引號(hào)
若單詞之間有空格必須一起輸出必須要有引號(hào)包圍。
三.變量讀取列表
用for語(yǔ)句來(lái)實(shí)現(xiàn) 從一個(gè)列表中讀取變量值,通過(guò)列表迭代
執(zhí)行結(jié)果如下圖
四.讀取命令中的值
for語(yǔ)句中可以調(diào)用不是本文件中的值,即其他文件,把該文件中的值調(diào)用賦予一個(gè)變量在調(diào)用該變量就可以在本文件使用。如下圖
這是我創(chuàng)建的一個(gè)名字為can的文件
在t4中把can中的值賦予file之后在for中調(diào)用也可以輸出出來(lái) ? 如下圖:
五.改編字段分隔符
此內(nèi)容博主剛了解 ,錯(cuò)誤內(nèi)容還望指出,謝謝大佬們。
字段分隔符一共有三:空格,制表符(指Tab),換行符(enter或者回車(chē))在shell中若是出現(xiàn)回車(chē),空格等腳本會(huì)認(rèn)為是在換行或者在啟動(dòng)新的數(shù)據(jù)段,若處理包含空格的文件名時(shí)就會(huì)出現(xiàn)干擾。列出如下圖:我創(chuàng)建了兩個(gè)文件 ?(can c)包含空格的文件名
當(dāng)我在腳本中調(diào)用can c這個(gè)文件時(shí) ?即使加上雙引號(hào)還是輸出了can中的代碼和輸出內(nèi)容如圖:(我把IFS注釋掉了)
但是,當(dāng)我把注釋取消即可正常輸出can c的內(nèi)容如下圖:
在文件中有空格也是忽略直接輸出
沒(méi)有IFS時(shí)
加上IFS的注釋后
把can文件中的每行空格都當(dāng)成分隔符不輸出
六.使用通配符讀取目錄
for不僅可以讀取文件還可以用通配符讀取目錄,尤其是不知道文件中的文件名時(shí)。本人在根下創(chuàng)建了一個(gè)app目錄在里面寫(xiě)了幾個(gè)腳本和一個(gè)目錄怎么用for來(lái)顯示出來(lái)呢 ?
當(dāng)前路徑
app下的文件數(shù)量種類(lèi)
腳本如下
把目錄文件賦予file在通過(guò)if then echo分類(lèi)輸出出來(lái)
執(zhí)行結(jié)果如下圖:
for的用法一定不止如此
以上僅僅就是我所知的for用法中的冰山一角,歡迎補(bǔ)充。
一定不吝賜教!
總結(jié)
以上是生活随笔為你收集整理的linux bash and,linux bash shell中for的用法and示例的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: idea的jsp如何显示语法高亮_如何啃
- 下一篇: python 捕获鼠标点击事件,在Pyt