¿Cómo podría ejecutar un script en Shell cuando se presiona una tecla de acceso directo?
Esencialmente, lo que necesito es que cuando se presiona una tecla de acceso directo, el script debe leer de un archivo y mostrar ese contenido en el terminal.
bash
keyboard-shortcuts
gnome-terminal
usuario3539
fuente
fuente
bind '"\e[24~":"airmon-ng start wlan0\n"'
pero después de cerrar la terminal, parece que se reinició y todas las teclas de acceso rápido desaparecieronRespuestas:
Puede usar el comando incorporado
bind
para asignar un atajo de teclado para que ejecute un comando / script de shell.Ejemplo
Digamos que queremos ejecutar el comando
pwd
, cuando presionamos la F12tecla.Ahora cuando pulso F12en mi sistema,
$
:Determinación de atajos de teclado
Puede usar la siguiente técnica para determinar el código de escape para un atajo de teclado dado. En la mayoría de los sistemas, presione Ctrl+ V, suelte y luego presione la tecla para la que desea el código. Hay otros sistemas con los que funcionará en Mlugar deV
Ejemplo
Presionando Ctrl+ Vluego suelte ambos Ctrly Vfinalmente presione F12en una ventana de terminal devuelve esto:
Esta salida se puede interpretar de la siguiente manera,
^[
es la Escclave. Entonces, cuando queremos especificar esta tecla en particular usando elbind
comando, necesitamos usar a\e
para denotar la Esctecla seguida de todo lo demás desde arriba. Entonces elbind
comando se ve así:Ejecutando un comando en el medio
También puede utilizar
bind -x
para configurar métodos abreviados de teclado que ejecutarán comandos mientras está escribiendo algo en el indicador, y se mostrará la salida de estos comandos, pero lo que esté escribiendo en el indicador permanecerá intacto.NOTA: Este método solo funciona con métodos abreviados de teclado que generan 1 carácter, por F12lo que no funcionará aquí.
Ejemplo
Vamos a alias el atajo de teclado Alt+ Shift+ W.
Digamos que estoy escribiendo el comando
finger
:Ahora presiono el atajo de teclado Alt+ Shift+ W:
Lo que está sucediendo
bind
es ejecutar el comando definidowho
, tomar su salida e insertarlo delante del indicador. Si lo repites, verás lo que está sucediendo, aquí hay un resultado de mí golpeándolo 2 veces:Tu problema
Entonces, una idea sería utilizar el
bind -x
método anterior ycat
mostrar este archivo de texto en el indicador:Ahora, cuando ejecuto comandos, puedo ver este archivo así:
La salida del archivo
someinfo.txt
se muestra arriba de mifinger
comando arriba.Referencias
fuente
echo '
(espacio después de la comilla simple), luego presionar Ctrl + v, luego la tecla que desee, y luego el espacio, comilla simple ... como se describe aquí . Ejemplo:echo ' ^[OD '