Dlaczego ktoś chciałby mieć kod taki jak echo "something" || true
?Jaki jest pożytek z "echo || true"?
I znaleziono takiego wykorzystania na linii 92 /lib/lsb/init-functions
na Ubuntu 14.04:
echo "$pid" || true
I zrozumieć, że || oznacza OR. Ale nie mogłem znaleźć sposobu, by wywołać echo dowolnego kodu wyjścia innego niż zero. A nawet jeśli tak, to kogo to obchodzi?
To znaczy, użycie przedrostka zapewnia, że kod wyjścia jest zawsze równy 0. Tak więc jeśli po lewej stronie podwójnej rury powstanie coś innego niż 0, true zostanie wykonane i spowoduje, że cała linia da 0.
Dlaczego paranoja z kodem wyjścia prostego echa? Czy jest coś, co sprawdza, czy każda linia na /lib/lsb/init-functions
kończy się sukcesem?
Osobiście, nawiasem mówiąc, staram się napisać to jako '||:'; nieco krótszy/gorszy/mniej wizualnie rozpraszający uwagę. –