Réponses:
Vous pouvez utiliser la commande intégrée bind
pour mapper un raccourci clavier afin qu'il exécute un script de commande / shell.
Disons que nous voulons exécuter la commande,, pwd
lorsque nous appuyons sur la F12touche.
$ bind '"\e[24~":"pwd\n"'
Maintenant , quand je presse F12mon invite, $
:
$ pwd
/home/saml
Vous pouvez utiliser la technique suivante pour déterminer le code d'échappement d'un raccourci clavier donné. Sur la plupart des systèmes, appuyez sur Ctrl+ V, relâchez, puis appuyez sur la touche pour laquelle vous voulez le code. Il existe d'autres systèmes avec Mlesquels il fonctionnera au lieu deV
Appuyez sur Ctrl+ Vpuis relâchez les deux Ctrlet Venfin appuyez sur F12dans une fenêtre de terminal pour retourner ceci:
$ ^[[24~
Cette sortie peut être interprétée comme suit, ^[
c'est la Escclé. Donc, lorsque nous voulons spécifier cette clé particulière à l'aide de la bind
commande, nous devons utiliser un \e
pour désigner la Escclé suivie de tout le reste d'en haut. La bind
commande ressemble donc à ceci:
$ bind '"\e[24~":"....."'
Vous pouvez également utiliser bind -x
pour configurer des raccourcis clavier qui exécuteront des commandes pendant que vous êtes en train de taper quelque chose à l'invite, et la sortie de ces commandes sera affichée, mais ce que vous tapiez à l'invite restera intact.
$ bind -x '"\eW":"..."'
REMARQUE: cette méthode fonctionne uniquement avec les raccourcis clavier qui produisent 1 caractère, donc F12ne fonctionnera pas ici.
Alias le raccourci clavier Alt+ Shift+ W.
$ bind -x '"\eW":"who"'
Disons que je tape la commande finger
:
$ finger
Maintenant, je frappe le raccourci clavier Alt+ Shift+ W:
saml tty1 2013-09-01 11:01 (:0)
saml pts/0 2013-09-01 11:03 (:0.0)
saml pts/1 2013-09-01 11:05 (:0.0)
saml pts/2 2013-09-01 11:05 (:0.0)
saml pts/5 2013-09-03 22:45 (:0.0)
$ finger
Ce qui se passe, c'est d' bind
exécuter la commande définie, de who
prendre sa sortie et de l'insérer devant l'invite. Si vous le répétez, vous verrez ce qui se passe, voici la sortie de moi en le frappant 2 fois:
saml tty1 2013-09-01 11:01 (:0)
saml pts/0 2013-09-01 11:03 (:0.0)
saml pts/1 2013-09-01 11:05 (:0.0)
saml pts/2 2013-09-01 11:05 (:0.0)
saml pts/5 2013-09-03 22:45 (:0.0)
saml tty1 2013-09-01 11:01 (:0)
saml pts/0 2013-09-01 11:03 (:0.0)
saml pts/1 2013-09-01 11:05 (:0.0)
saml pts/2 2013-09-01 11:05 (:0.0)
saml pts/5 2013-09-03 22:45 (:0.0)
$ finger
Une idée serait donc d'utiliser la bind -x
méthode ci-dessus et cat
d'afficher ce fichier texte à votre invite:
$ bind -x '"\eW":"cat someinfo.txt"'
Maintenant, lorsque j'exécute des commandes, je peux voir ce fichier comme ceci:
This is text from some
multi-line file reminding
me how to do some
stuff
$ finger
La sortie du fichier someinfo.txt
est affichée au-dessus de ma finger
commande ci-dessus.
echo '
(espace après le guillemet simple), puis appuyez sur Ctrl + v, puis sur la touche que vous voulez, puis sur espace, guillemet simple ... comme décrit ici . Exemple:echo ' ^[OD '
bind '"\e[24~":"airmon-ng start wlan0\n"'
mais après avoir fermé le terminal, la chose semble être réinitialisée et tous les raccourcis clavier ont disparu