ead命令:
read 命令從標(biāo)準(zhǔn)輸入中讀取一行,并把輸入行的每個字段的值指定給 shell 變量
1)read后面的變量var可以只有一個,也可以有多個,這時如果輸入多個數(shù)據(jù)linux命令,則第一個數(shù)據(jù)給第一個變量linux命令,第二個數(shù)據(jù)給第二個變量,如果輸入數(shù)據(jù)個數(shù)過多,則最后所有的值都給最后一個變量
-p read –p “提示語句”,則屏幕就會輸出提示語句,如下圖
當(dāng)變量個數(shù)和輸入個數(shù)一樣時:
注意空格,要不會出錯
當(dāng)變量個數(shù)和輸入個數(shù)不一樣時,即輸入個數(shù)比變臉個數(shù)多,則多的都賦給最后一個變量:
2)命令計數(shù)
-n
read –n 個數(shù)
設(shè)置read命令計數(shù)輸入的字符。當(dāng)輸入的字符數(shù)目達(dá)到預(yù)定數(shù)目時,自動退出,并將輸入的數(shù)據(jù)賦值給變量
看一下cc.sh腳本的內(nèi)容:
read –n 1的意思是只接受一個字符
執(zhí)行
這里輸入y后不用回車,自己就執(zhí)行
3)等待時間
-t 時間
read –t 時間
使用read命令存在著潛在危險。腳本很可能會停下來一直等待用戶的輸入。如果無論是否輸入數(shù)據(jù)腳本都必須繼續(xù)執(zhí)行,那么可以使用-t選項指定一個計時器。-t選項指定read命令等待輸入的秒數(shù)。當(dāng)計時滿時,read命令返回一個非零退出狀態(tài);
看一下cc.sh腳本的內(nèi)容:
執(zhí)行cc.sh然后等待超過5s,發(fā)現(xiàn)自動退出了
4)關(guān)閉回顯
-s
read –s
-s選項能夠使read命令中輸入的數(shù)據(jù)不顯示在監(jiān)視器上(實際上,數(shù)據(jù)是顯示的,只是read命令將文本顏色設(shè)置成與背景相同的顏色),比如密碼
看一下cc.sh的腳本內(nèi)容
執(zhí)行,看到輸入密碼的時候屏幕不顯示
6)從文本讀取內(nèi)容并且賦給變量