指令碼引數互動與for語句迴圈
1.指令碼引數互動
$n $1 $2 … $(10) $(11) … //傳參,通過這些傳參我們可以將相關的引數輸入到指令碼中去;
read命令實現指令碼引數的匯入:
read多個引數可以同時匯入
如果變數個數多於輸入的數值,就把最後多餘的數值賦值給最後乙個變數;
例子:read a b c
1 2 3 4 5 6
1.-p 可以指定輸入提示文字;
read -p 「請輸入要檢視的內容:」list_disk
呼叫list_disk -- $list_disk
2.-t 設定超時時間
read -t 10 -p "請輸入檢視內容:「list_disk
10秒後,指令碼自動執行後面的內容
3.需要給read指定的變數,提供預設值:
[ $? -eq 0 ] && exit 0 || exit 1
[ $list_disk ]
【多條命令寫在同一行中執行,使用;隔開】
練習:輸入乙個裝置檔案,輸出這個裝置檔案的基本資訊:
請輸入乙個裝置檔案:sda1/sdb /dev/
for語句迴圈:
使用場景:遍歷
在python語言中,我遍歷的內容通過range(0,10,2);
在shell指令碼中,遍歷的內容**會有很多,比如、命令、可以通過檔案萬用字元來進行檔案的遍歷操作、∗
*∗@、直接寫入字串;
for的格式–寫法:
for變數in索要遍歷的內容;do
迴圈體done
示例:for i in ;done
echo $i
done
具體學習五種所要遍歷內容的方式:
1.字元遍歷
for i in see cat ;do
echo $i
done
2.數值的迴圈
for i in ; do
echo $i
done
3.取命令執行後的結果
for i inseq 1 2 9
;do
echo $i
done
1到100的偶數和:
for i in $(seq 2 2 100); do
sum = sum + $i
# sum += $i
done
echo $sum
注意:所有的命令結果都可以放在這裡來遍歷
練習:找出user1這個使用者的所有檔案,判斷這些檔案的大小,並將大於100m的檔案顯示出來;
for filename in $(find / -user user1);do
count=wc -c $filename | cut -d" " -f1
if [ $count -gt 100000000];then
echo $filename
fidone
4.globbing檔案萬用字元的方式
練習:去將/var/log/下以.log結尾的所有檔案的行數,統計出來
for line in /var/log/.log; do
wc -l lin
edon
e5.做傳
參遍
歷line done 5.做傳參遍歷
linedo
ne5.
做傳參遍
歷*@建議使
用@ 建議使用
@建議使用@
在我們為指令碼輸入傳參的時候,如果,我們要對每乙個傳參進行操作,這時候就可以使用@和@和
@和*去遍歷每乙個傳參;
示例:for i in $@ ; do
echo $i
done
使用:bash 6.sh 1 2 3 4 5 6
練習99乘法表:
while
while如何實現99乘法表
格式:初始值
while 條件判斷;do
迴圈體值控制語句
done
注意:當條件判斷為真的時候,才會進入迴圈體;
declare -i i=1
while [ $i -lt 10 ];do
declare -i j=1
while [ $j -le i];
doec
ho−n
−e
"i ];do echo -n -e "
i];doe
cho−
n−e"
i*j =j=
j=[i ∗i*
i∗j]\t"
let j++
done
echo
let i++
done
Shell指令碼 引數
我們可以在執行 shell 指令碼時,向指令碼傳遞引數,指令碼內獲取引數的格式為 n。n代表乙個數字,1 為執行指令碼的第乙個引數,2 為執行指令碼的第二個引數,以此類推 以下例項我們向指令碼傳遞三個引數,並分別輸出,其中 0為執行的檔名 bin bash author 菜鳥教程 url www.r...
訪問Shell指令碼引數
所謂的位置引數 positional parameters 指的也就是shell指令碼的命令列引數 command line arguments 在shell函式裡,它們同事也可以是函式的引數。各引數都由整數來命名。基於歷史的原因,當它超過9,就應該用大括號把數字框起來 echo first arg...
Python 指令碼引數傳遞
optionparser from optparse import optionparser def parse cmd parser optionparser usage prog options version 1.0 parser.add option c cluster help expan...