Como eu poderia executar um script no Shell quando uma tecla de atalho é pressionada.
Essencialmente, o que eu preciso é que quando uma tecla de atalho é pressionada, o script deve ler um arquivo e exibir esse conteúdo no terminal.
bash
keyboard-shortcuts
gnome-terminal
user3539
fonte
fonte
bind '"\e[24~":"airmon-ng start wlan0\n"'
, mas depois que eu fechei o terminal, a coisa parece ser redefinida e todas as teclas de atalho são idoRespostas:
Você pode usar o comando interno
bind
para mapear um atalho de teclado para que ele execute um script de comando / shell.Exemplo
Digamos que queremos executar o comando
pwd
, quando pressionamos a F12tecla.Agora, quando eu pressionar F12o meu alerta,
$
:Determinando atalhos de teclado
Você pode usar a seguinte técnica para determinar o código de escape para um determinado atalho de teclado. Na maioria dos sistemas, pressione Ctrl+ V, solte e, em seguida, pressione a tecla para a qual deseja o código. Existem alguns outros sistemas com os quais ele trabalhará, em Mvez deV
Exemplo
Pressionar Ctrl+ Ve soltar ambos Ctrle, Vfinalmente, pressionar F12em uma janela do terminal, retorna isso:
Esta saída pode ser interpretada da seguinte forma,
^[
é a Escchave. Portanto, quando queremos especificar essa chave específica usando obind
comando, precisamos usar a\e
para indicar a Escchave seguida por tudo o mais acima. Portanto, obind
comando fica assim:Executando um comando no meio
Também é possível
bind -x
configurar atalhos de teclado que executam comandos enquanto você digita algo no prompt, e a saída desses comandos é exibida, mas o que você digitou no prompt permanecerá intacto.NOTA: Este método funciona apenas com atalhos de teclado que geram 1 caractere, portanto F12, não funcionará aqui.
Exemplo
Vamos usar o atalho de teclado Alt+ Shift+ W.
Digamos que estou digitando o comando
finger
:Agora clico no atalho do teclado Alt+ Shift+ W:
O que está acontecendo
bind
é executar o comando definidowho
, pegando sua saída e inserindo-a na frente do prompt. Se você repetir, verá o que está acontecendo, eis uma saída minha batendo duas vezes:Seu problema
Portanto, uma idéia seria usar o
bind -x
método acima ecat
exibir esse arquivo de texto quando solicitado:Agora, quando executo comandos, posso ver este arquivo da seguinte maneira:
A saída do arquivo
someinfo.txt
está sendo exibida acima do meufinger
comando acima.Referências
fonte
echo '
(espaço após as aspas simples), pressione Ctrl + v, a tecla desejada e, em seguida, espaço, aspas simples ... conforme descrito aqui . Exemplo:echo ' ^[OD '