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:
$ age=20
$ name='boda'
$ var="hello! my name is $name! bye!"
When I press enter at last command the command repeats itself (types itself) without the last !
:
$ var="hello! my name is $name! bye"
If I press enter again
$ var="hello! my name is $name bye"
If i press enter again it disappears nothing gets output
$
If I try this:
$ 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:
$ echo 'hello! my name is $name! bye!'
Outputs are: hello! my name is $name! bye!
I have it working this way:
$ echo "hello"'!'" my name is $name"'!'" bye"'!'
But it's one big mess with "
and '
impossible to understand/edit/maintain/update.
Can anyone help?
$ echo 'hello! my name is '"$name"'! bye!'
– frostschutz Nov 29 '15 at 10:06