GNU/Linux >> Tutoriels Linux >  >> Linux

Caractères génériques à l'intérieur des guillemets ?

Ce sera facile, mais dans mes souvenirs, lors de scripts shell, l'utilisation de guillemets doubles permettrait d'étendre la globalisation et les variables.

Mais dans le code suivant :

#!/bin/sh

echo *.sh
echo "*.sh"
echo '*.sh'

echo $LANG
echo "$LANG"
echo '$LANG'

J'obtiens ce résultat :

bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG

Ainsi, les guillemets simples empêchent l'expansion globale ET variable, mais les guillemets doubles permettent uniquement l'expansion variable et pas de globalisation ?

Puis-je glob dans n'importe quel modèle de guillemets ?

Réponse acceptée :

Vous avez raison :la globalisation ne fonctionne pas dans les guillemets simples ou doubles. Cependant, vous pouvez interpoler le globbing avec des chaînes entre guillemets :

$ echo "hello world" *.sh "goodbye world"
hello world [list of files] goodbye world

Linux
  1. Pourquoi le tilde (~) ne se développe-t-il pas à l'intérieur des guillemets doubles ?

  2. Ny Way To Print Value Inside Variable Inside Single Quote?

  3. Enveloppant Vs. Ne pas mettre la valeur d'une variable entre guillemets dans Bash ?

  4. Utilisation de l'exportation dans .bashrc ?

  5. Changer la police dans la commande Echo ?

16 exemples de commandes Echo sous Linux

Installation de Seafile 6.3.2 dans ISPConfig 3.1

Comment faire écho dans le fichier

Comment diviser une chaîne avec des guillemets (comme des arguments de commande) dans bash ?

Beaucoup de fichiers ._ dans un tar

Qu'est-ce que echo $ ? fais?