Ich habe Folgendes in einem Benutzerhandbuch für die Z-Shell gelesen :
Ein Synonym für 'wahr' ist ':'; Es wird oft in dieser Form verwendet, um Argumente zu liefern, die Nebenwirkungen haben, aber nicht verwendet werden sollten - so etwas wie
: ${param:=value}
Das ist eine gemeinsame Redewendung in allen Bourne-Shell-Derivaten. In der Parametererweiterung
$param
wird der Wert value angegeben, wenn er zuvor leer war, andernfalls allein gelassen. Da dies der einzige Grund für die Parametererweiterung war,:
ignorieren Sie das Argument. Tatsächlich erstellt die Shell munter die Befehlszeile - den Doppelpunkt, gefolgt von dem Wert, der unabhängig davon$param
, ob die Zuweisung stattgefunden hat oder nicht - und führt dann den Befehl aus. es kommt einfach so vor, dass ':' die Argumente, die ihm vorgebracht wurden, nicht beachtet.
aber ich verstehe es nicht. Ich, dass :
Mittel true
, aber es gibt zwei Doppelpunkte in dem Ausdruck ein . Warum wird dieses Idiom in allen Bourne-Shell-Derivaten so häufig verwendet? Welchem Zweck dient es?
Anmerkung: Ich bin daran interessiert, was diese Redewendung sowohl in bash als auch in zsh macht .
Vielen Dank
zsh
oderbash
?