1、互動輸入
read
read 命令同時可以定義多個變數值,而輸入的內容預設以空格為分隔符,將值輸入到對應的變數中;
如果預設值過少,最後所有的值都會被賦予給最後乙個變數;
如果預設值過多,多餘的變數則為空值;
>read a b c
>aa bb cc
read如何輸入:
(1)echo "請輸入乙個目錄:"
我們需要echo -n取消換行符號
(2)echo "請輸入乙個目錄:"; read +變數
請輸入乙個目錄:/etc/
常用引數:
-pread - p "請輸入乙個目錄:" + 變數
-tread -t 5 -p "請輸入乙個目錄:" + 變數
指令碼預設值
2、for語句迴圈
for語句的應用場景:
有乙個功能,這個功能需要迴圈執行,只是執行的物件不同;
for語句格式:
for 變數 in 列表;do
迴圈體done
練習:九九乘法表:
(1)方法一:
(2)方法二:
-e:使echo命令,能夠識別特殊字元
\r : 回車不換行
\n: 換行符
\t :製表符tab = 4個空格
unix2dos \r\n -->\n
dos2unix
case語句:
case的語法格式:
case 變數 in
patten1)
**塊1
patten2)
**塊2
列表的生成方式:
1、直接給出字串列表
for i in a b c d e;do
迴圈體done
2、整數列表
a 、 //是不行的 = python range
b 、seq命令引用 $seq[start ... end]
步長 python range
3、返回列表的命令
$(command)
應用場景:ls /var/log
4、glob機制------檔名萬用字元的機制
$(ls /var/log)
/var/log/*
test命令總結:
1、test的命令的option的-a -o 只在命令中使用;
5、變數引用---傳參
$@ $* 將引數作為for迴圈
$0 ----和awk的不一樣
bash中的$0 代表執行的指令碼檔案;
awk中的$0 代表整行內容; ------awk按行執行
需要多個詞的時候用$@,需要用乙個詞的時候用$*
擴充套件:for語句的另外一種寫法:
基於c語言的for語言寫法:
for 變數 in 列表;do
迴圈體done
優點:不易進入死迴圈
for((i=0;i<10;i++))
for((初始條件;條件判斷語句;值變化語句))
迴圈體done
while語句的格式:
i = 0 (因為機器識別數字是從0開始的)
初始值while 條件 ;do
迴圈體let i++
done
14 shell程式設計 Here Document
3.總結 command end document end command是shell 命令 end 是結束標誌cat end shell教程 已經進行了三次改版 end shell教程 已經進行了三次改版name c語言中文網 url age 7 cat end 使用單引號包圍 已經 歲了,它的 ...
14 shell命令之網路操作
對於這個系列的命令其實是最多的,無奈我學的很少.基本上就是常用的乙個命令.ping,ifconfig,netstat,lsof,nslookup,host,ssh,route,tcpdump,traceroute等.下面分別做簡單介紹.1.ping 這個應該沒啥好說的.就是測試雙端鏈路是否通.有乙個...
(14)shell 函式以及函式引數
函式可以讓我們將乙個複雜功能劃分成若干模組,讓程式結構更加清晰,重複利用率更高。shell 函式必須先定義後使用。function name 如果你願意,也可以在函式名前加上關鍵字 function function function name 注意 函式返回值,可以顯式增加return語句 如果不...