Proszę spojrzeć na te polecenia:
$ notify-send SYNC TIME!
$ notify-send 'SYNC TIME!'
$ notify-send "SYNC TIME!"
bash: !": event not found
$
Pierwsze dwa polecenia generują dymek powiadomienia zgodnie z oczekiwaniami. Trzeci podaje pokazany błąd.
i
$ echo SYNC TIME!
SYNC TIME!
$ echo 'SYNC TIME!'
SYNC TIME!
$ echo "SYNC TIME!"
bash: !": event not found
$
Tutaj również echo
działa dla pierwszych dwóch poleceń, ale nie dla trzeciego.
Więcej problemów tutaj (chociaż nie planowałem tego użyć): zarówno notify-send "SYNC!TIME"
i echo "SYNC!TIME"
daj bash: !TIME": event not found
.
Ale oba notify-send
i echo
pracuj z"SYNC! TIME"
Czy ktoś może wyjaśnić, dlaczego bash: !": event not found
pojawia się błąd?
.bashrc
liniiset +H
. Zauważ, że nie!
jest już wyjątkowy w skryptowaniu; traktowanie go jako specjalnego złamałoby wiele skryptów zgodnych ze standardami. Jest on traktowany jako „specjalny” w interaktywnych powłokach i tylko domyślnie, dopóki go nie naprawisz. :-)