如何通过键盘输入退出 bash 循环?

Goo*_*bot 5 bash input shell-script for

我有一个bash lopp

#!/bin/bash
for (( c=0; c<=1000000; c++ ))
do  
SOME STUFF HERE
done
Run Code Online (Sandbox Code Playgroud)

我通过键盘输入中断长循环,Ctrl+CCtrl+C只是终止脚本。我正在寻找一种替代方法来继续当前循环并在完成STUFF当前循环中的运行后中断循环。

小智 5

一种方法是trap将 Control-C 信号break移出loop,如下所示:

#!/bin/bash
trap break INT
for (( c=0; c<=1000000; c++ ))
do  
SOME STUFF HERE
done
echo "I have broken out of the interminably long for loop"
trap - INT
sleep 1
echo "END."
Run Code Online (Sandbox Code Playgroud)