Ist es möglich, chmod auszuführen und Fehler vom Befehl zu ignorieren
Beispiel (Bemerkungsdatei.txt nicht vorhanden, um das Beispiel zu zeigen)
Wenn ich tippe
chmod 777 file.txt
Ich bekomme einen Fehler bei der Ausgabe
chmod: cannot access file.txt : no such file or directory
Also füge ich dem Befehl das -f-Flag wie folgt hinzu: (file.txt existiert nicht, um den Fall zu zeigen)
chmod -f 777 file.txt
echo $?
1
Aber aus dem Beispiel chmod return 1
Bitte geben Sie an, wie Sie den Befehl chmod zwingen können, trotz eines Fehlers den Exit-Code 0 zu vergeben
shell
shell-script
chmod
error-handling
Gilles 'SO - hör auf böse zu sein'
quelle
quelle
2>/dev/null
und verwende sieset -e
in Skripten.Antworten:
Dies würde ausgeführt
:
, dh der Null-Befehl, wenn dieschmod
fehlschlägt. Da der Befehl null nichts bewirkt, aber immer erfolgreich ist, wird der Beendigungscode 0 angezeigt.quelle
chmod -f 777 file.txt || true
:
scheint das gleich gut lesbar zu sein.chmod -f 777 file.txt || true
Wenn eine der Anweisungen true zurückgibt, ist die Rückgabe true, da es sich um ein OR handelt. Dies führt zu einem Ausgangsstatus von Null.
quelle
||
wird nicht ausgeführt, wenn erchmod
erfolgreich ist ... nicht, dass er hier einen großen rechnerischen Unterschied macht.Ich habe immer geliebt
quelle