
Ich möchte ein Skript schreiben, um eine Nachricht anzuzeigen und möglicherweise eine Abmeldung von einer interaktiven Shell abzubrechen. Dies liegt daran, dass ich in einigen meiner Shells häufig Hintergrundjobs ausführe und mich spontan von allen abmelde und die laufenden Jobs schließe. Was ich suche, ist ein Skript wie:
# If there are running jobs
if [ -z "$(jobs)" ]; then
# Display messages, give choices, etc.
...code...
# And finally, given some conditions (e.g. answers to questions, etc.)
cancel_logout
else
logout
Vermutlich würde das oben Genannte in eingehen ~/.bash_logout
.
Antwort1
Der richtige Weg hierfür besteht darin, die Prüfung von Bash selbst durchführen zu lassen.
shopt -s checkjobs
Dadurch zeigt Bash eine Meldung an, wenn noch Jobs ausgeführt werden. Wenn noch Jobs ausgeführt werden, müssen Sie zweimal versuchen, das Programm zu beenden, um es tatsächlich zu beenden.