GNU/Linux >> Tutoriels Linux >  >> Linux

Problèmes avec l'expansion de la variable bash avec des guillemets simples

Les noms de fichiers sont notoirement peu fiables dans les chaînes étendues ; résistez à cette tentation.

Utilisez plutôt un tableau pour conserver les noms de fichiers intacts, quels que soient les espaces :

arr=()
for f in $somedir/*.pdf
do
arr+=( -a "$f")
done

# and for usage/display:

mutt -s mysubject "${a[@]}" [email protected]

Voir le Guide Bash sur les tableaux pour référence.


Linux
  1. Bash Dynamic (variable) Noms des variables ?

  2. Bash -c avec des paramètres positionnels ?

  3. Quand mettre des guillemets autour d'une variable shell ?

  4. Commande bash alias avec guillemets simples et doubles

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

Variable d'exportation bash

Différence entre la définition de variables bash avec et sans exportation

Bash Scripting - Variables expliquées avec des exemples

Comment définir une variable d'environnement dans Bash

Comment remplacer les guillemets simples par un autre caractère dans sed ?

bash :comment passer des arguments de ligne de commande contenant des caractères spéciaux