Ctrl+C 命令不会终止无限(while)循环

5 command-line bash scripts

我有这个小脚本。当我启动它并且终端具有焦点Ctrl+C停止 feh 然后 while 循环再次启动 feh 。我期待,只要终端(!)有焦点,Ctrl+ 就会C中断 while 循环并杀死 feh 。

#!/bin/bash

sleep 2
while true; do
feh --cycle-once -zD $1 *.png
done
Run Code Online (Sandbox Code Playgroud)

有人可以告诉我如何在这里获得这种首选行为吗?

小智 2

尝试这个:

#! /bin/bash

sleep 2
while feh --cycle-once -zD $1 *.png; do :; done
Run Code Online (Sandbox Code Playgroud)

这样,当 feh 以非零状态退出时,循环就会结束(就像终止它时一样)。