`read -t` 沒有列印我的輸入

`read -t` 沒有列印我的輸入

我使用以下命令:

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在指定時間(以秒為單位)過去後逾時。如果指定的時間已經過去,並且您尚未輸入文字並按下Enterecho $var則不會傳回任何內容。

您可能誤解瞭如果您只是在read等待輸入時鍵入文字會發生什麼,也許認為您鍵入的文字將在逾時時用作輸入read,因此會儲存在var變數中。

但這種情況並非如此!只有var當您按 時,文字才會被儲存Enter

相關內容