Récemment, j'ai tapé sur mon terminal
username:~$ !!
et a obtenu une erreur de bash :
bash: !!: command not found
Dans le même temps, il réussit lorsqu'il est fait sous superutilisateur.
J'ai examiné le contenu de PATH de mon utilisateur et je n'ai rien trouvé de suspect:
/home/username/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
Voici la sortie de:
username:~$ history | tail
1993 date
1994 cal
1995 vcal
1996 uptime
1997 uname
1998 uptime
1999 uname
2000 uptime
2001 uname
2002 history | tail
Un autre:
username:~$ echo foo
foo
username:~$ !!
bash: !!: command not found
command-line
bash
bash-history
Bulat M.
la source
la source
echo foo
et ensuite!!
? En outre, s'il vous plaît modifier votre question et ajouter la sortiehistory | tail
ou si. Votre session shell a-t-elle un historique?histexpand
défini dans vos options de shell? quelle est la sortie deecho $-
?!
littéraux non honorés sans les citations supplémentaires étaient beaucoup plus courantes que de trouver quelqu'un qui voulait que la fonctionnalité d'extension de l'historique ne soit pas disponible sous une forme plus facile à utiliser via readline.Réponses:
L'expansion de l'historique peut être désactivée:
Essayez
set -H
ouset -o histexpand
.la source
set -o
, ou la variable spéciale$-
set -o | grep hist