Não consigo descobrir como escrever o símbolo !
em scripts bash ao colocá-lo em strings de aspas duplas.
Por exemplo:
var="hello! my name is $name! bye!"
Algo louco acontece se eu digitar os seguintes comandos:
$ age=20
$ name='boda'
$ var="hello! my name is $name! bye!"
Quando pressiono enter no último comando, o comando se repete (digita a si mesmo) sem o último !
:
var="hello! my name is $name! bye"
Se eu pressionar enter novamente:
$ var="hello! my name is $name bye"
Se eu pressionar Enter novamente, desaparecerá. Nada será exibido:
$
Se eu tentar isso:
$ echo "hello\! my name is $name\! bye\!"
Em seguida, o resultado é: hello\! my name is boda\! bye\!
Se eu usar aspas simples, meu nome não será expandido:
$ echo 'hello! my name is $name! bye!'
As saídas são: hello! my name is $name! bye!
Eu tenho isso funcionando assim:
$ echo "hello"'!'" my name is $name"'!'" bye"'!'
Mas é uma grande confusão com "
e '
impossíveis de entender / editar / manter / atualizar.
Alguém pode ajudar?