Недавно я набрал на своем терминале
username:~$ !!
и получил ошибку от bash :
bash: !!: command not found
В то же время, это успешно, когда сделано под суперпользователем.
Я исследовал содержимое PATH моего пользователя и не нашел ничего подозрительного:
/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Вот вывод:
username:~$ history | tail
1993 date
1994 cal
1995 vcal
1996 uptime
1997 uname
1998 uptime
1999 uname
2000 uptime
2001 uname
2002 history | tail
Другой:
username:~$ echo foo
foo
username:~$ !!
bash: !!: command not found
command-line
bash
bash-history
Булат М.
источник
источник
echo foo
а потом!!
? Также, пожалуйста, отредактируйте свой вопрос и добавьте выводhistory | tail
или около того. Есть ли у вашей командной сессии какая-либо история?histexpand
Установлены ли в вашей оболочке параметры? какой выходecho $-
?!
литералами, которых не соблюдали дополнительные цитаты были гораздо более распространенным явлением, чем поиск кого-то, кто хотел, чтобы функциональность расширения истории не была доступна в удобной для использования форме через readline.Ответы:
Расширение истории может быть отключено:
Попробуйте
set -H
илиset -o histexpand
.источник
set -o
, или специальная переменная$-
set -o | grep hist