我們可以bash的內建命令read命令來給變數賦值。read命令用來提示使用者輸入資訊,從而實現簡單的互動過程。執行時將從標準輸入裝置(鍵盤)讀入一行內容,並以空格為分隔符,將讀入的各欄位挨個賦值給指定的變數(多餘的內容賦值給最後乙個變數)。若指定的變數只有乙個,則正行內容賦值給此變數。
也即read命令接收標準輸入(鍵盤)的輸入,或其他檔案描述符的輸入。得到輸入後,read命令將資料放入乙個標準變數中。
# read qq
——read 後面跟的為變數
/usr/local/src/qq
# echo $qq
/usr/local/src/qq
列印提示資訊
read可以結合-p選項來設定提示資訊,以便告知使用者應該輸入什麼內容等相關事項。
# read -p "指定備份資料的存放目錄:" 變數名
指定備份資料的存放目錄:/usr/local/src/qq
# echo $qq
/usr/local/src/qq
簡單形式:
#!/bin/bash
echo -n "enter your name:" //
引數-n
的作用是不換行,
echo
預設是換行
read name //
從鍵盤輸入
echo "hello $name,welcome to my script" //
顯示資訊
exit 0 //
退出shell
程式。
read命令使用:
可以man read檢視相關read的引數使用等詳細資訊。
-a後跟乙個變數,該變數會被認為是個陣列,然後給其賦值,預設是以空格為分割符。
-d後面跟乙個標誌符,其實只有其後的
第乙個字元
有用,作為結束的標誌。
輸入a會自動退出。
-p後面跟提示資訊,即在輸入前列印提示資訊。
-e在輸入的時候可以使用命令補全功能。
-n後跟乙個數字,定義輸入文字的長度,很實用。
輸入了3個字元會自動退出。
-r遮蔽\,如果沒有該選項,則\作為乙個轉義字元,有的話 \就是個正常的字元了。
-s安靜模式,在輸入字元時不再螢幕上顯示,例如login時輸入密碼。
#!/bin/bash
read -s -p "enter your password:" pass
echo "your password is $pass"
exit 0
-t後面跟秒數,定義輸入字元的等待時間。 #
延遲五秒,沒有輸入將自動退出
# read -p
"input a number:"
-t 5 number
事例:需求1:
模擬使用者登入:最後提示使用者登入成功,並列印出使用者的賬號和密碼。
#!/bin/bash
read -ep "username: " user
read -sp "password: " password
echo -e "\n login successful!"
echo "your username is $user"
echo "your password is $password"
對應上面read引數詳解,可以很清楚了解到該指令碼相關含義。
Linux上read命令的使用
一 read傾聽是一種美德 1.傾聽鍵盤的輸入並儲存到變數中 例如 bin bash echo please input your name read name echo welcome name exit 0 或是read自帶的顯示提示語 例如 bin bash read p please inp...
Linux之read命令使用
ead命令 read 命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數 1 read後面的變數var可以只有乙個,也可以有多個,這時如果輸入多個資料,則第乙個資料給第乙個變數,第二個資料給第二個變數,如果輸入資料個數過多,則最後所有的值都給最後乙個變數 p read p 提...
Linux之read命令使用
ead命令 read 命令從標準輸入中讀取一行,並把輸入行的每個欄位的值指定給 shell 變數 1 read後面的變數var可以只有乙個,也可以有多個,這時如果輸入多個資料,則第乙個資料給第乙個變數,第二個資料給第二個變數,如果輸入資料個數過多,則最後所有的值都給最後乙個變數 p read p 提...