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
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 !!
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
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.
Tags shell-script quoting variable