Shell Script: como expandir uma variável em citações

1

Alguém pode me dizer como posso fazer o seguinte comando para funcionar corretamente?

SERVER=192.168.1.1

ping $SERVER (It Works)

ping '$SERVER' (It doesn't work)

Eu quero que isso componha um comando mais complexo que precisa de citações!

Obrigado a todos !!

    
por Kellyson 21.02.2018 / 02:41

2 respostas

3

Use aspas duplas.

Quando você usa aspas simples, obtém exatamente o que digitou, enquanto as aspas duplas são interpoladas, conforme o exemplo abaixo: -

$ x=1
$ echo 'This is $x'
This is $x
$ echo "This is $x"
This is 1
    
por 21.02.2018 / 03:59
0

Você pode usar aspas duplas da seguinte forma:

SERVER=192.168.1

ping "$SERVER.1"
ping "$SERVER".1
ping $SERVER.1

Observe que o último exemplo não tem aspas.

No entanto, consulte Expansão da variável dentro aspas simples em um comando no Bash para uma leitura muito mais aprofundada sobre o tópico.

    
por 21.02.2018 / 02:50