GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Platzhalter in Anführungszeichen?

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

Linux
  1. Was bedeutet Echo $? Tun??

  2. Einschließen Vs. Den Wert einer Variablen nicht in Anführungszeichen in Bash setzen?

  3. Export in .bashrc verwenden?

  4. Echo-Befehlsbeispiele in Linux

  5. Echo:Befehl nicht gefunden

16 Beispiele für Echo-Befehle unter Linux

Installation von Seafile 6.3.2 in ISPConfig 3.1

Schriftart im Echo-Befehl ändern?

Linux-Echo-Befehl

Wie Echo in Datei

Ursprung eines kworker-Threads