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ż echodział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-sendi echopracuj z"SYNC! TIME"
Czy ktoś może wyjaśnić, dlaczego bash: !": event not foundpojawia się błąd?
.bashrcliniiset +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. :-)