Bash-Auswertung

Bash-Auswertung

Ich weiß, dass Anweisungen in Bash ifwie folgt ausgewertet werden können expr:

if [[ 5 > 0 ]]; then echo true; fi

Wie wertet Bash die folgende Form von aus if?

if [ 5 -gt 0 ]; then echo true; fi

Antwort1

Der erste führt bashnur einen lexikografischen Vergleich von Zeichenfolgen durch, während der zweite einen numerischen Vergleich durchführt und auch in der POSIX-Shell funktioniert.

Der zweite könnte besser in Bash geschrieben werden als

if ((5 > 0)); then echo "true"; fi

verwandte Informationen