GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie stoppe ich das Loop Bash-Skript im Terminal?

Zum Beispiel

#!/bin/bash
while :
do
    sl
done

Wie beendet man dieses Bash-Skript?

Akzeptierte Antwort:

Das Programm sl ignoriert absichtlich SIGINT , die gesendet wird, wenn Sie Strg+C drücken . Also müssen Sie zuerst sl mitteilen SIGINT nicht zu ignorieren durch Hinzufügen des -e Argument.

Wenn Sie dies versuchen, werden Sie feststellen, dass Sie jedes einzelne sl stoppen können , aber sie wiederholen sich immer noch. Sie müssen bash mitteilen um nach SIGINT zu beenden auch. Sie können dies tun, indem Sie einen trap "exit" INT einfügen vor der Schleife.

#!/bin/bash
trap "exit" INT
while :
do
    sl -e
done

Linux
  1. So geben Sie Terminalsitzungen wieder, die mit dem Linux-Skriptbefehl aufgezeichnet wurden

  2. Wie liest man das gesamte Shell-Skript, bevor man es ausführt?

  3. Kann ein Bash-Skript nicht mit Strg + C stoppen?

  4. So teilen Sie eine Zeichenfolge in Bash-Skript auf

  5. Wie überprüfe ich HZ im Terminal?

So schreiben Sie ein Bash-Skript mit Beispielen

Bash Continue:Wie man eine Schleife fortsetzt

So verwenden Sie den Bash-Lesebefehl

Bash Break:So verlassen Sie eine Schleife

So führen Sie ein Bash-Skript aus

Wie kopiere ich die Terminalausgabe?