Qual é o significado de $ e {} em 'find $ {x} *'?

3

Eu tenho o seguinte:

x=/
find ${x} *

Agora, isso é semelhante a find / *

Qual é o significado de $ e {} em find ${x} *

    
por Vidisha 20.06.2013 / 13:09

1 resposta

2

$... denota uma variável e, quando seguida por parêntese de texto, ${...} , você fornece um limite para a variável, para poder executá-la ao lado de uma string como:

$ FLAVOUR="cheese"
$ echo "I like ${FLAVOUR}y crisps"
I like cheesey crisps

Sem parênteses, você veria:

$ echo "I like $FLAVOURy crisps"
I like  crisps

O que, embora seja verdade, não é o que você realmente queria.

Por que é usado em seu exemplo está além de mim. Não é necessário.

As chaves são também usadas para pesquisas de matriz bash quando você deseja especificar o índice, mas isso não tem nada a ver com o seu exemplo:

$ arr=(*)
$ echo ${arr[3]} # print third item; 1-indexed? blimey.
jumbo-small.jpg
$echo ${arr[@]} # print whole array
glyphicons-halflings.png glyphicons-halflings-white.png jumbo.jpg jumbo-small.jpg
    
por Oli 20.06.2013 / 13:22

Tags