これらのコマンドを見てください:
$ notify-send SYNC TIME!
$ notify-send 'SYNC TIME!'
$ notify-send "SYNC TIME!"
bash: !": event not found
$
最初の2つのコマンドは、予想どおり通知バブルを生成します。3番目は、表示されたエラーを示します。
そして
$ echo SYNC TIME!
SYNC TIME!
$ echo 'SYNC TIME!'
SYNC TIME!
$ echo "SYNC TIME!"
bash: !": event not found
$
ここでも、echo最初の2つのコマンドで機能しますが、3番目のコマンドでは機能しません。
ここでは多くの問題(私はこれを使用して計画されていませんが):両方notify-send "SYNC!TIME"とecho "SYNC!TIME"ギブbash: !TIME": event not found。
しかし、両方notify-sendでecho動作します"SYNC! TIME"
誰かがbash: !": event not foundエラーが表示される理由を説明できますか?
.bashrc、行に追加することで修正できますset +H。!スクリプトでは既に特別ではないことに注意してください。特別なものとして扱うと、多くの標準に準拠したスクリプトが壊れます。対話型シェルでは「特別」としてのみ扱われ、修正するまでデフォルトでのみ扱われます。:-)