我使用以下命令:
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。