Als «trap» getaggte Fragen

3
"Trap ... INT TERM EXIT" wirklich nötig?
Viele Beispiele für die trapVerwendung trap ... INT TERM EXITfür Bereinigungsaufgaben. Aber ist es wirklich notwendig, alle drei Zeichen aufzuzählen? Das Handbuch sagt: Wenn ein SIGNAL_SPEC EXIT (0) ist, wird ARG beim Verlassen der Shell ausgeführt. was meines erachtens zutrifft, ob das script normal beendet wurde oder weil es empfangen …
63 bash  shell  signals  trap 


6
Trap, ERR und Echo der Fehlerzeile
Ich versuche, eine Fehlerberichterstattung mit einer Trap zu erstellen, um eine Funktion für alle Fehler aufzurufen: Trap "_func" ERR Ist es möglich zu erfahren, von welcher Leitung das ERR-Signal gesendet wurde? Die Muschel ist bash. In diesem Fall kann ich lesen und melden, welcher Befehl verwendet wurde, und einige Aktionen …


1
Warten Bash-Builtin brennt eine CPU zu 100 Prozent
Tritt mindestens auf GNU bash Version 4.3.42 x86_64 && GNU Bash - Version 4.3.11 x86_64 Ich benutze sleep & wait $!statt eines einfachen sleepum eine Unterbrechung sleepdurch ein Signal zu bekommen (als SIGUSR1 ). Aber es waitsieht so aus, als würde sich die Bash-Funktion auf seltsame Weise verhalten, wenn Sie …

3
Wird die Falle von einer Unterschale geerbt?
Ich habe folgendes Skript ausprobiert: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo Die Ausgabe für das obige Skript war: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Ich hatte jedoch damit foo1gerechnet, dass die Falle …
14 shell  trap  subshell 

4
Beenden Sie die Exit-Codes, wenn Sie SIGINT und ähnliches einfangen?
Wenn ich trapwie auf http://linuxcommand.org/wss0160.php#trap beschrieben verwende , um Strg-C (oder ähnliches) abzufangen und vor dem Beenden zu bereinigen, ändere ich den zurückgegebenen Exit-Code. Jetzt wird dies in der realen Welt wahrscheinlich keinen Unterschied machen (z. B. weil die Exit-Codes nicht portierbar sind und darüber hinaus nicht immer eindeutig sind, …

2
So lösen Sie einen Fehler mit dem Befehl "Trap" aus
Ich benutze Ubuntu 12.04.2. Ich versuche, den Befehl "trap" zu verwenden, um Fehler in meinem Shell-Skript zu erfassen, aber ich versuche auch, das Beenden von "Error" manuell auszulösen. Ich habe Exit 1 ausprobiert, aber es wird kein "Fehler" -Signal ausgelöst. #!/bin/bash func() { exit 1 } trap "echo hi" INT …

3
Wie richte ich Trap in Bash-Funktionen ein?
Ich kann trapin Bash-Skripten aber nicht Bash-Funktionen einrichten. Zum Beispiel, sourceder Code unten und führen Sie f, jetzt versuchen Sie Ctrl+ C, es wurde nicht gefangen! Wie richte trapich Bash-Funktionen ein? 4 trap ctrl_c INT 5 6 ctrl_c () { 7 echo "** Trapped CTRL-C" 8 } 9 10 11 …
13 bash  trap 


6
Starten Sie die Aufgabe im Hintergrund
Ich weiß, dass Sie dies verwenden können, um einen Prozess im Hintergrund zu starten, ohne die Benachrichtigung zu erhalten, wenn der Prozess in den Hintergrund gestellt wird und wenn dies folgendermaßen geschieht: (Befehl &) &> / dev / null Dadurch wird jedoch die Option zum Abfangen entfernt, wenn der Prozess …
12 process  zsh  trap 

3
Was ist Signal 0 in einem Trap-Befehl?
Ich folge dieser Anleitung zum Einrichten der kennwortlosen SSH-Authentifizierung mit ssh-agent. Um ssh-agent zu starten, empfiehlt der Autor den folgenden Code in .bash_profile: SSHAGENT=/usr/bin/ssh-agent SSHAGENTARGS="-s" if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then eval `$SSHAGENT $SSHAGENTARGS` trap "kill $SSH_AGENT_PID" 0 fi Ich verstehe nicht, warum es das Signal 0 …
12 bash  signals  trap 

1
Trap-Behandlung und implizite Subshells in Shell-Skripten
Angenommen, Sie haben ein Shell-Skript, das eine Art Bereinigungscode über eine EXITFalle ausführt, wie folgt: #!/bin/bash mytrap () { echo "It's a trap!" >&2 } trap mytrap exit echo I am at the end of the script. Dies wird erwartungsgemäß ausgedruckt, It's a trap!wenn das Skript beendet wird: $ sh …
12 shell  trap 



Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.