Was bedeutet die folgende Notation in Unix?Unix-Befehle Interpretation
:- or :=
was tut die folgenden Mittel
if [ ${path:=0} -eq 1 ]
if [ ${path:-0} -eq 1 ]
Was bedeutet die folgende Notation in Unix?Unix-Befehle Interpretation
:- or :=
was tut die folgenden Mittel
if [ ${path:=0} -eq 1 ]
if [ ${path:-0} -eq 1 ]
Die :
ist ein Parameter Expansion, also wenn zum Beispiel $path
nicht gesetzt ist, wird es auf 0 in Ihrem Beispiel-Code zurückgreifen.
Mit einem Bindestrich wird der Wert verwendet und :=
wird den Wert zuweisen.
Zusätzliche Informationen durch Kommentar aufgefordert:
In Ihrem Beispiel eine Variable verwenden $path
genannt, so die :=
mit so gehen wird: wenn $ Pfad nicht gesetzt ist, setzen Sie $ Pfad auf den Wert (0 in Ihrem Fall). Jedes Mal, wenn Sie $ path danach verwenden, würde es auf Ihren Wert 0 gesetzt werden.
Verwenden Sie einfach verwenden Sie einfach den vorgegebenen Wert (wieder, 0 in Ihrem Fall) und nicht zu $ Pfad zuordnen. Irgendwelche Verwendungen von $ path sind danach noch nicht gesetzt.
Mit einem Bindestrich: - wird den Wert verwenden, und mit: = wird den Wert zuweisen . Ich bin nicht sicher, ob ich das bekomme, "den Wert verwenden" und den Wert zuweisen? – redsoxlost
Ich füge zusätzliche Informationen zur Antwort für Sie hinzu. – Stuart
Bietet Standardwerte für Variablen. Werfen Sie einen Blick auf http://unix.stackexchange.com/questions/122845/using-ab-for-variable-assignment-in-scripts – cjungel