I can't figure out how to write !
symbol in bash scripts when putting it in double quotes strings.
For example:
var="hello! my name is $name! bye!"
Something crazy happens:
Boda-Cydo-Sith-Computer:~$ age=20
Boda-Cydo-Sith-Computer:~$ name='boda'
Boda-Cydo-Sith-Computer:~$ var="hello! my name is $name! bye!"
When I press enter at last command the command repeats itself (types itself) without the last !
:
Boda-Cydo-Sith-Computer:~$ var="hello! my name is $name! bye"
If I press enter again
Boda-Cydo-Sith-Computer:~$ var="hello! my name is $name bye"
If i press enter again it disappears nothing gets output
Boda-Cydo-Sith-Computer:~$
If I try this:
Boda-Cydo-Sith-Computer:~$ echo "hello\! my name is $name\! bye\!"
Then it outputs: hello\! my name is boda\! bye\!
If i use single quotes then my name doesn't get expanded:
Boda-Cydo-Sith-Computer:~$ echo 'hello! my name is $name! bye!'
Outputs are: hello! my name is $name! bye!
I have it working this way:
Boda-Cydo-Sith-Computer:~$ echo "hello"'!'" my name is $name"'!'" bye"'!'
But it's one big mess with "
and '
impossible to understand/edit/maintain/update.
Can anyone help?