De temps en temps, il serait utile d'ajouter une commande directement à l'historique dans Bash sans l'exécuter réellement. Jusqu'à présent, la chose fermée que j'ai trouvée est d'ajouter un #
devant et de frapper le retour. Y a-t-il de meilleures façons?
bash
command-history
Grumbel
la source
la source
./resize-images.sh
dont la dernière ligne indique une commande que vous devez exécuter pour annuler les modifications, il serait vraiment utile si à la place le script pouvait ajouter la commande à mon historique, alors je frappais justeup-enter
si j'avais besoin d'annulerhistory -s
commanderVous pouvez même lier une touche pour le faire pour vous. Vous pouvez le saisir à une invite Bash:
ou ajoutez ceci à votre
~/.inputrc
:vous pouvez alors taper quelque chose et appuyer sur Ctrl- qet il sera ajouté à l'historique sans être exécuté. L'espace avant « histoire » provoque la
history
commande elle - même à ne pas être ajouté à l'histoire si votreHISTCONTROL
variable contientignorespace
ouignoreboth
. Une autre frappe pourrait être choisie à la place de "\ Cq".la source
Il est difficile de trouver quelque chose de plus court qu'une "commande" à un caractère, nous devons donc vraiment aller au niveau de la frappe. Avec ma configuration bash et un clavier américain, ce que vous faites maintenant prend:
#
(besoins SHIFT): +1 instruction, +2 pression de touchedonc au total 3 instructions, 5 touches.
L'utilisation ALT#fait de même dans 1 instruction, 2 touches.
YMMV selon la disposition de votre clavier et la configuration de bash.
la source
#command
est beaucoup plus rapide quehistory -s command
, et aussi très facile à utiliser si vous mappezhistory-search-backward/-forward
correctement. Mais c'est une question de goût.