Sarà facile, ma nei miei ricordi, durante lo scripting della shell, l'uso delle virgolette doppie consentirebbe di espandere il globbing e le variabili.
Ma nel seguente codice:
#!/bin/sh
echo *.sh
echo "*.sh"
echo '*.sh'
echo $LANG
echo "$LANG"
echo '$LANG'
Ottengo questo risultato:
bob.sh redeployJboss.sh
*.sh
*.sh
en_US.utf8
en_US.utf8
$LANG
Quindi le virgolette singole impediscono l'espansione glob E variabile, ma le virgolette doppie consentono solo l'espansione variabile e nessun globbing?
Posso glob in qualsiasi schema di virgolette?
Risposta accettata:
Hai ragione:il globbing non funziona né tra virgolette singole né doppie. Tuttavia, puoi interpolare il globbing con stringhe tra virgolette:
$ echo "hello world" *.sh "goodbye world" hello world [list of files] goodbye world