Ostatnio pisałem na terminalu
username:~$ !!
i dostałem błąd z bash :
bash: !!: command not found
W tym samym czasie udaje się to, gdy jest wykonywane pod nadzorem administratora.
Sprawdziłem zawartość PATH mojego użytkownika i nie znalazłem niczego podejrzanego:
/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Oto wynik:
username:~$ history | tail
1993 date
1994 cal
1995 vcal
1996 uptime
1997 uname
1998 uptime
1999 uname
2000 uptime
2001 uname
2002 history | tail
Inne:
username:~$ echo foo
foo
username:~$ !!
bash: !!: command not found
command-line
bash
bash-history
Bulat M.
źródło
źródło
echo foo
a potem!!
? Także, proszę edytować swoje pytanie i dodać wyjściuhistory | tail
lub tak. Czy twoja sesja powłoki ma jakąś historię?histexpand
ustawiony w opcjach powłoki? Jaka jest wydajnośćecho $-
?!
literały nie były honorowane bez dodatkowe cytowanie było znacznie częstszym zjawiskiem niż znalezienie kogoś, kto chciałby, aby funkcja rozszerzenia historii nie była dostępna w łatwiejszej w użyciu formie poprzez readline.Odpowiedzi:
Rozszerzanie historii może być wyłączone:
Spróbuj
set -H
lubset -o histexpand
.źródło
set -o
, lub zmienna specjalna$-
set -o | grep hist