Bash-Skript, das etwas tun soll, wenn der erste Befehl STRG + C-unterbrochen ist

324
lorenzo-s

Ich möchte ein Bash-Skript erstellen, um eine einfache Aufgabe zu automatisieren. Diese Aufgabe umfasst das Ausführen eines program(nicht von mir erstellten) Befehls, der etwas ausführt, bis der Benutzer STRG + C drückt. Danach muss ich process the output. Ich habe das geschrieben:

#!/bin/bash program process the output 

programstartet wie erwartet, aber wenn ich STRG + C drücke, process the outputwird nicht ausgeführt. Ich wette, mein Skript ist bei STRG + C gerade komplett beendet.

Wie kann ich erreichen, was ich brauche?

1

1 Antwort auf die Frage

2
grawity

Legen Sie einen Signalhandler für SIGINT fest:

trap "echo Ctrl+C received" INT program trap - INT process the output