Comment pourrais-je exécuter un script dans Shell lorsqu'une touche de raccourci est enfoncée.
Essentiellement, ce dont j'ai besoin, c'est quand une touche de raccourci est enfoncée, le script doit lire un fichier et afficher ce contenu dans le terminal.
bash
keyboard-shortcuts
gnome-terminal
user3539
la source
la source
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 disparuRé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.Exemple
Disons que nous voulons exécuter la commande,,
pwd
lorsque nous appuyons sur la F12touche.Maintenant , quand je presse F12mon invite,
$
:Déterminer les raccourcis clavier
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
Exemple
Appuyez sur Ctrl+ Vpuis relâchez les deux Ctrlet Venfin appuyez sur F12dans une fenêtre de terminal pour retourner ceci:
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 labind
commande, nous devons utiliser un\e
pour désigner la Escclé suivie de tout le reste d'en haut. Labind
commande ressemble donc à ceci:Exécution d'une commande au milieu
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.REMARQUE: cette méthode fonctionne uniquement avec les raccourcis clavier qui produisent 1 caractère, donc F12ne fonctionnera pas ici.
Exemple
Alias le raccourci clavier Alt+ Shift+ W.
Disons que je tape la commande
finger
:Maintenant, je frappe le raccourci clavier Alt+ Shift+ W:
Ce qui se passe, c'est d'
bind
exécuter la commande définie, dewho
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:Ton problème
Une idée serait donc d'utiliser la
bind -x
méthode ci-dessus etcat
d'afficher ce fichier texte à votre invite:Maintenant, lorsque j'exécute des commandes, je peux voir ce fichier comme ceci:
La sortie du fichier
someinfo.txt
est affichée au-dessus de mafinger
commande ci-dessus.Les références
la source
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 '