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!