Ich weiß, dass Anweisungen in Bash if
wie 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 bash
nur 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