`read -t` 没有打印我的输入

`read -t` 没有打印我的输入

我使用以下命令:

read -t 5 num

但是,运行:

echo "$num"

没有打印 的值num

答案1

read此示例演示了正确的语法:

$读取次数
10
$回显“$num”
10

答案2

readBash 内置命令函数从标准输入读取一行并将其存储到变量中。其基本语法read为:

read var

如果你运行这个,提示会等待你输入文本,直到你按下Enter。按下 后Enter,文本将保存到var变量中,然后你可以使用 显示该变量echo

echo $var

您在问题中使用的标志-t用于read在指定的时间(以秒为单位)过去后超时。如果指定的时间已经过去,而您还没有输入文本并按下Enterecho $var则不会返回任何内容。

您可能误解了如果在等待输入时仅键入文本会发生什么,也许认为您键入的文本将在超时read时用作输入,因此它将存储在变量中。readvar

但事实并非如此!var只有按下 ,文本才会被存储在 中Enter

相关内容