Stéphane Chazelas napisał:
kilka zasad takich jak
- zawsze podawaj zmienne
- Nigdy nie używać
-a
albo-o
operatora (użyć kilku[
poleceń oraz&&
i||
powłoki operatorzy)Bądź
[
niezawodny dzięki powłokom POSIX.
Dlaczego „nigdy nie należy używać operatora -a
lub -o
”?
Jak mogę zrobić „używać kilku [
poleceń oraz operatorów powłoki &&
i ||
”)?
(
i)
operatorzy że grupa poleceń? Jeśli są przestarzałe, jakie są ich zamienniki? (2) Należytest "$1" -a "$2"
zastąpić przeztest "$1" && test "$2"
lub((test "$1" && test "$2"))
? Czy nie potrzebujemy((..))
?()
i{}
jako zamiennik. (2) pierwszy;(())
służy do interpretacji arytmetycznej, tutaj chcesz przetestować status wyjścia łańcucha testów, więc albo zgrupuj testy w podpowłoce,()
albo w bieżącej powłoce{}
.(
i)
jest użycie-a
lub-o
. Ponieważ te ostatnie są przestarzałe, te pierwsze oczywiście nie są już potrzebne.