Was ist das „in“ in der Case-Anweisung?

Was ist das „in“ in der Case-Anweisung?

In einer caseAussage wie dieser:

case $foo in
        bar)
            echo "the value of foo is bar"
            ;;
        *)
            echo "the value of foo is not bar"
            ;;
esac    

warum gibt es ein inafter case $foo? Wäre eine Syntax, die darauf verzichtet, nicht genauso gut oder besser? Was bedeutet esbedeuten?

Antwort1

Es ist aufgrund der Syntax erforderlich.

Semantisch führt es einen Satz von einem oder mehreren Globs (Ausdrücken) für die caseAnweisung ein, mit denen jeweils die Case-Variable verglichen wird.

$fooBeachten Sie, dass Sie es in Anführungszeichen setzen müssen , d. h.

case "$foo" in ... esac

verwandte Informationen