Ich bin auf diese Syntax gestoßen

export ts=${2:-`date "+%s"`}

Ich kenne export und ${2}. Ich verstehe sogar +%s

Was bedeutet es, :- dahinter hinzuzufügen?

Diese Symbole zu googeln ist nutzlos. Wo siehst du solche Dinge nach?

1
bhomass 29 Dez. 2015 im 02:31

2 Antworten

Beste Antwort

Der Bindestrich bewirkt, dass die Erweiterung der Wert der Variablen ist, wenn sie definiert ist, oder die Erweiterung des Folgenden, wenn die Variable nicht definiert ist.

Beispiel:

AA=aa
echo ${AA:-11}
echo ${BB:-22}

Erzeugt die Ausgabe:

aa
22

Weil AA definiert ist und BB nicht.

2
Ziffusion 28 Dez. 2015 im 23:42

Dies bedeutet "Wenn das zweite Befehlszeilenargument nicht an das Programm übergeben wurde, verwenden Sie den folgenden Wert":

`date "+%s"`

Es wird als "Parametersubstitution" bezeichnet und ist hier dokumentiert.

2
Oleg Andriyanov 28 Dez. 2015 im 23:39