【发布时间】:2019-04-02 22:29:18
【问题描述】:
我需要创建一个 while 循环,该循环不断循环,直到注册按键,特别是用于退出的 'q' 键。
这是我的(失败的)尝试:
while [ -z "$QUIT" ]
do
<Script stuff>
done &
read -sn 1 QUIT
export QUIT
但是,如果我按任意键,while 循环不会退出/结束。这是因为 $QUIT 似乎只能从它设置的位置“向前”访问,而不是向后访问父 while 循环部分。有没有办法解决这个问题,或者有一种替代方法可以让我的 while 循环在按下一个键(如果可能的话是 q)时退出?
干杯。
【问题讨论】:
-
阅读永远不会到达。如果您想这样做,请创建一个带有 pid 的文件以停止该进程。
-
如果您使用 & 启动脚本并导出 QUIT=1 。它有效。
-
谢谢。为简单起见,有没有可能的方法只在 1 个文件中完成?
标签: bash