Linux命令之read


  read命令可以讀取標准輸入的值,並賦予變量。一次可以讀取多個變量的值,變量名或標准輸入之間使用空格隔開。如果read命令后面沒有指定變量名,那么讀取到的值將自動賦予特殊變量REPLY。

read [選項] [變量名  [變量名 變量名 ...]]

(1).常用選項

-s  將標准輸入內容隱藏,多用於隱藏用戶密碼;
-t [超時時間]  超過指定的時間限制沒有輸入,將會自動退出當前命令;
-n [字符長度]  限制接收的字符長度,接收到指定字符長度后會自動退出當前命令;
-r  允許輸入空格、/、\、?等特殊字符;
-p [字符串]  給出輸入內容的提示,多用於腳本

(2).實例

  輸入多個變量名,讀取多個值

[root@youxi1 ~]# read a b
1 2
[root@youxi1 ~]# echo $a
1
[root@youxi1 ~]# echo $b
2

  隱藏標准輸入內容

[root@youxi1 ~]# read -s password
[root@youxi1 ~]# echo $password
123456

  指定超時時間

[root@youxi1 ~]# read -t 2 a
[root@youxi1 ~]# echo $?
142

  指定輸入的字符串長度

[root@youxi1 ~]# read -n 2 a
12[root@youxi1 ~]# 

  允許輸入特殊字符

[root@youxi1 ~]# read a
\n
[root@youxi1 ~]# echo $a
n
[root@youxi1 ~]# read -r a    
\n
[root@youxi1 ~]# echo $a
\n

  在輸入前提示當前應該輸入的內容,其實類似於echo -n "[提示內容]";read [變量名]

[root@youxi1 ~]# read -p "請輸入密碼:" password
請輸入密碼:123456
[root@youxi1 ~]# echo -n "請輸入密碼:";read password
請輸入密碼:123456

  腳本綜合使用

[root@youxi1 ~]# vim a.sh
#!/bin/bash
read -p "請輸入您的賬號:" username
read -p "請輸入您的密碼:" -s -r password
echo  #換行
read -p "請輸入您的郵箱:" email
echo "賬號:"$username
echo "密碼:"$password
echo "郵箱:"$email
[root@youxi1 ~]# sh a.sh
請輸入您的賬號:xuexi
請輸入您的密碼:
請輸入您的郵箱:xuexi@shiwokuaile.com
賬號:xuexi
密碼:123456!@#$%^
郵箱:xuexi@shiwokuaile.com

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM