Por favor, veja estes comandos:
$ notify-send SYNC TIME!
$ notify-send 'SYNC TIME!'
$ notify-send "SYNC TIME!"
bash: !": event not found
$
Os dois primeiros comandos produzem um balão de notificação conforme o esperado. O terceiro dá o erro mostrado.
e
$ echo SYNC TIME!
SYNC TIME!
$ echo 'SYNC TIME!'
SYNC TIME!
$ echo "SYNC TIME!"
bash: !": event not found
$
Aqui também, os echotrabalhos para os dois primeiros comandos, mas não para o terceiro.
Mais problemas aqui (embora eu não estivesse planejando usar isso): os dois notify-send "SYNC!TIME"e echo "SYNC!TIME"doe bash: !TIME": event not found.
Mas ambos notify-sende echotrabalhar com"SYNC! TIME"
Alguém pode explicar por que o bash: !": event not founderro aparece?
.bashrclinhaset +H. Observe que!já não é especial em scripts; tratá-lo como especial quebraria muitos scripts em conformidade com os padrões. Ele é tratado apenas como "especial" em shells interativos e somente por padrão até você corrigi-lo. :-)