Wildcards dentro de citações

29

Este será fácil, mas em minhas memórias, quando o script de shell, usando aspas duplas, permitiria expansão de globbing e variáveis.

Mas no código a seguir:

#!/bin/sh

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

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

Eu recebo este resultado:

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

Portanto, a cotação única evita a expansão da variável glob AND, mas a cotação dupla permite apenas a expansão de variáveis e a ausência de globbing?

Posso glob em qualquer padrão de cotação?

    
por tisek 13.03.2013 / 11:55

1 resposta

21

Você está correto: globbing não funciona com aspas simples ou duplas. No entanto, você pode interpolar globbing com strings entre aspas duplas:

$ echo "hello world" *.sh "goodbye world"
hello world [list of files] goodbye world
    
por 13.03.2013 / 12:03