【发布时间】:2016-03-17 09:28:59
【问题描述】:
我想提示用户按任意键或等待超时以继续使用 shell。通常这种情况用以下成语解决:
read -rs -t3 -n1 "Press any key or wait to continue ..."
但是,这个提示对我来说似乎有点笨拙,我想只留下“按任意键继续...”消息的一部分,并用每秒打印的点来指示超时。所以我写了以下脚本:
#!/bin/sh
echo -n "Press any key to continue";
for _ in `seq 3`; do
if ! read -rs -n1 -t1 ; then echo -n "."; else break; fi
done
echo
它和我预期的一样工作,但显然代码太多,所以我必须放入单独的文件而不是在脚本中使用sh -c "..."。有没有办法以更简洁紧凑的方式实现它?
附:在按下Ctrl-C 时返回非零错误代码是必须的。
【问题讨论】: