Dies wird einfach sein, aber in meinen Erinnerungen würde beim Shell-Scripting die Verwendung von doppelten Anführungszeichen das Erweitern von Globbing und Variablen ermöglichen.
Aber im folgenden Code:
#!/bin/sh
echo *.sh
echo "*.sh"
echo '*.sh'
echo $LANG
echo "$LANG"
echo '$LANG'
Ich bekomme dieses Ergebnis:
bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG
Einfache Anführungszeichen verhindern also eine Glob-UND-Variablenerweiterung, aber doppelte Anführungszeichen erlauben nur eine Variablenerweiterung und kein Globbing?
Kann ich ein beliebiges Zitatmuster einfügen?
Akzeptierte Antwort:
Sie haben Recht:Globbing funktioniert weder in einfachen noch in doppelten Anführungszeichen. Sie können jedoch Globbing mit Zeichenfolgen in doppelten Anführungszeichen interpolieren:
$ echo "hello world" *.sh "goodbye world" hello world [list of files] goodbye world