我使用以下命令:
read -t 5 num
但是,運行:
echo "$num"
不列印 的值num
。
答案1
read
此範例示範了 的正確語法:
$讀取數量 10 $回顯“$num” 10
答案2
read
是一個Bash 內建從標準輸入讀取一行並將其儲存到變數的函數。的基本語法read
是:
read var
如果執行此命令,提示將等待您輸入文本,直到您按Enter。按 後Enter,文字將儲存到var
變數中,然後您可以使用以下命令顯示該變數echo
:
echo $var
您在問題中使用的標誌-t
用於read
在指定時間(以秒為單位)過去後逾時。如果指定的時間已經過去,並且您尚未輸入文字並按下Enter,echo $var
則不會傳回任何內容。
您可能誤解瞭如果您只是在read
等待輸入時鍵入文字會發生什麼,也許認為您鍵入的文字將在逾時時用作輸入read
,因此會儲存在var
變數中。
但這種情況並非如此!只有var
當您按 時,文字才會被儲存Enter。