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.
5und 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 -eqin ganze Zahlen umgewandelt.