我编写了一个 bash 脚本,用于在一个简单的文件中记录键码。我将代码放在一个 while 循环中,因为我希望它连续记录。但是,如果我在终端中运行 bash 脚本,光标就会一直闪烁,表明文件确实陷入了无限循环。现在我希望能够正常退出此循环。我不知道该怎么做。Ctrl+C 不起作用。我只能关闭终端并强制退出该进程。当用户想要退出程序时,我该如何跳出 while 循环?
答案1
如果光标闪烁,则可能实际上并未处于循环中。您可能正在等待输入。尝试 Ctrl+D。如果此方法无效,则打开一个新终端,ps aux | grep command
其中 command 是您编写的脚本的名称,然后终止返回的 pid。
答案2
答案3
只是一个想法。如果你从文件中读取值,而不是无限循环,你会测试该值吗?像这样:
while [ "`cat mytestfile`" = 0 ]; do
//your stuff here
done
echo 1 > mytestfile
如果您想停止循环,您只需这样做。