Verwenden Sie dieses Tag, wenn es bei Ihrer Frage darum geht, den Exit-Status (Rückkehrcode) eines Befehls zu bestimmen oder zu verwenden. Die übliche Syntax beinhaltet das $? Variable und die && und || Symbole.
mit time sleep 1 Ausbeuten: $ time sleep 1 real 0m1.005s user 0m0.001s sys 0m0.001s Gibt es einen Befehl, mit dem ich den Exit-Code sleepoder einen beliebigen Befehl drucken kann, den ich ausführen möchte? Etwas mag: $ log-exit-code sleep 1 vielleicht reicht das aus? sleep 1 && echo "$?"
Siehe die folgenden Beispiele und ihre Ausgaben in POSIX-Shells: false;echo $?oder false || echo 1:1 false;foo="bar";echo $?oder foo="bar" && echo 0:0 foo=$(false);echo $?oder foo=$(false) || echo 1:1 foo=$(true);echo $?oder foo=$(true) && echo 0:0 Wie in der am höchsten bewerteten Antwort unter /programming/6834487/what-is-the-variable-in-shell-scripting erwähnt : $? wird verwendet, um den Rückgabewert …
Ich habe Konstrukte in Skripten wie diesen gesehen: if somevar="$(somecommand 2>/dev/null)"; then ... fi Ist das irgendwo dokumentiert? Wie wird der Rückgabestatus einer Variablen ermittelt und in welcher Beziehung steht er zur Befehlssubstitution? (Würde ich zum Beispiel das gleiche Ergebnis erzielen if echo "$(somecommand 2>/dev/null)"; then?)
Ich hätte gerne folgende Befehlsstruktur: command && check-status | less && followup-command Dies würde die Ausführung unterbrechen, während der Benutzer mit interagiert less. Wie kann der Benutzer lessdas Beenden mit einem Status ungleich Null erzwingen , um die followup-commandAusführung zu verhindern ? Ich benutze gerade less 458 (POSIX regular expressions)
Ich habe ein Bash-Skript, das Docker einfach ein Bild pusht: docker push $CONTAINER_IMAGE:latest Ich möchte dreimal schleifen, wenn dies fehlschlägt. Wie soll ich das erreichen?
Wenn der Statuscode unbrauchbar ist, gibt es überhaupt eine Möglichkeit, eine Pipeline basierend auf der Ausgabe von stdout zu erstellen? Ich würde es vorziehen, wenn die Antwort nicht den Anwendungsfall, sondern die Frage im Rahmen des Shell-Scripting anspricht. Ich versuche, das spezifischste im Repository verfügbare Paket zu finden, indem ich …
Laufen bash -c 'bash -c "echo test1; exit 1;" &> /tmp/x; buildresult=$?; tail -n 100 /tmp/x; exit $buildresult;' führt dazu, test1dass auf der Konsole gedruckt wird und echo $?gedruckt wird, 1was meines Erachtens korrekt ist, da der Befehl mit dem [b/d]ash -czurückkehren sollte, was das Innere zurückgegeben hat, während dash …
Ist es möglich, den Status des letzten Befehlsausgangs ( $?) nach einem Test unverändert zu lassen? ZB möchte ich machen: command -p sudo ... [ $? -ne 1 ] && exit $? Der letzte exit $?sollte den sudo-Exit-Status zurückgeben, gibt jedoch immer zurück 0(den Exit-Code des Tests). Ist das ohne …
Wenn findes aufgerufen wird, um nichts zu finden, wird es immer noch mit Code 0 beendet. Gibt es eine Möglichkeit, einen Exit-Code zurückzugeben, der auf einen Fehler hinweist, wenn keine Datei gefunden wurde?
Ich habe Schwierigkeiten, eine umfassende, aktuelle Liste der Fehlercodes von Bash zu finden. z.B: $ udevadm info /dev/sdx; echo Exit code $? Unknown device, --name=, --path=, or absolute path in /dev/ or /sys expected. Exit code 4 Wie soll man solche Exit-Codes nachschlagen?
Wenn ich viele Befehle habe, die ich ausgegeben habe, und ich möchte den Beendigungsstatus eines Prozesses, der beendet wurde, beispielsweise vor 100 Befehlen. Gibt es eine Struktur, einen Dateispeicherort oder eine Variable unter Linux, auf die ich auf alle beendeten Prozesse zugreifen und Informationen darüber anzeigen kann?
Die folgende Sequenz gibt mir den Rückgabewert des ersten Befehls, nicht des zweiten, wie ich erwartet hätte (unabhängig davon, ob ich den ersten Befehl in einer Subshell ausführe): sudo systemctl start x; sudo systemctl is-active --quiet x; echo $?; (sudo systemctl start x); sudo systemctl is-active --quiet x; echo $?; …
Ist es möglich herauszufinden, welche Fehlermeldungen ein Befehl enthält? Zum Beispiel möchte ich die Liste der Fehlermeldungen sehen, die der mkfs.ext3Befehl in verschiedenen Fehlersituationen druckt. Soll ich in den Quellcode schauen oder gibt es andere Möglichkeiten, dies zu erreichen?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.