bash で ! は最新のコマンドが実行される
ヒストリ展開とも呼ばれてるみたい
なので純粋に ! を使うことができない
$ echo "!"
bash: !: event not found
例えば hello world! と出力しても ! がヒストリが参照されこのような実行になってしまった
$ echo "hello world!"
echo "hello world"
hello world
解決策は set +H
で機能を無効化することができる
$ set +H
$ echo "!"
!
$ echo "hello world!"
hello world!