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