GNU/Linux >> Linux Esercitazione >  >> Linux

Problemi con la variabile bash che si espande con virgolette singole

I nomi dei file sono notoriamente inaffidabili nelle stringhe espanse; resisti a questa tentazione.

Utilizza invece un array per mantenere intatti i nomi dei file, indipendentemente da eventuali spazi bianchi:

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

# and for usage/display:

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

Consulta la Guida di Bash sugli array per riferimento.


Linux
  1. Bash Dynamic (variabile) Nomi di variabili?

  2. Bash -c con parametri posizionali?

  3. Il comando Rm nello script Bash non funziona con la variabile?

  4. Come posso sostituire le virgolette singole con un altro carattere in sed?

  5. bash:come passare argomenti della riga di comando contenenti caratteri speciali

Variabile di esportazione Bash

Differenza tra la definizione di variabili Bash con e senza esportazione

Bash Scripting:variabili spiegate con esempi

Come impostare la variabile d'ambiente in Bash

Quando avvolgere le virgolette attorno a una variabile di shell?

comando bash alias con virgolette singole e doppie