Nehmen wir an, wir haben zwei Ganzzahlen in einem Bash-Skript:
value1=5
value2=3
Warum müssen wir dann im Falle eines Tests doppelte Anführungszeichen verwenden? Beispielsweise:
if [[ "$value1" -eq "$value2" ]]
Warum nicht einfach folgendes verwenden?
if [[ $value1 -eq $value2 ]]
Für mich machen die doppelten Anführungszeichen keinen Sinn.
5
und notwendig ist 3
, ist Wartbarkeit. Die Werte können sich später ändern und die daraus resultierenden Fehler sind möglicherweise nicht offensichtlich.
[[ ]]
, nur für [ ]
.
[[ ]]
dieser Variablen werden auch die Operanden -eq
in ganze Zahlen umgewandelt.