Você já tentou Expectar?
Eu quero escrever um script de shell que faça o que uma macro gravada faria e reproduza as teclas pressionadas. Em particular, para produzir ctrl + a .
Isso é possível?
Eu tentei coisas como echo 41
, mas apenas diz que não há command 41
.
Você já tentou Expectar?
No X11, você pode usar xdotool
.
xdotool key ctrl+a
Quando um aplicativo está em execução, ele muitas vezes restaura as características do terminal, de modo que pressionar ctrl-a pode realmente ser gravado como ASCII 1. Ou uma série de pressionamentos de teclas.
Em um console, ctrl-v ctrl-a produz o display ^ A e você obtém
echo ^A | od -x
0000000 010a
onde 01 é ctrl-a.
Então, o ponto é:
, a fim de "script" algo que você tem que capturar as configurações do terminal, lembre-se deles, em seguida, redefini-los durante a reprodução. Em um script de shell, isso significa analisar a saída de
stty -a
e salvando-o em um formato que lhe permita enviá-lo de volta ao stty durante a reprodução, em seguida, envie o seu fluxo de dados para o terminal.
Isso é muito complicado por drivers de terminal, interfaces gráficas e assim por diante.
Para obter um ctrl-a "puro", use ctrl-v ctrl-a - somente no console, não necessariamente dentro de um editor.
De uma página de documentação que fiz há pouco
Serge ficou muito cansado das etapas padrão do desenvolvimento da Web:
Então ele decidiu automatizar um pouco as coisas;)
Como ele melhorou a situação:
$ sudo apt-get install xdotool
$ mkdir Documents/scripts $ vim Documents/scripts/vim-browser-vim.sh [...] #!/bin/bash # Seach for a window having "Coding" in its title and send keys to save current document in vim xdotool search "Coding" key "Escape" "colon" "w" "Return" # Search for a window having "Studyladder" in its title, activate it and refresh (In chrome it's Ctrl+r) xdotool search "Studyladder" windowactivate key "Ctrl+r" # Seach for a window having "Coding" in its title and activate it xdotool search "Coding" windowactivate [...] chmod u+x Documents/scripts/vim-browser-vim.sh
No GNOME: barra de tarefas > Sistema > Preferências > Atalhos de teclado > Adicionar
Nome: vim-browser-vim Comando: /home/srivest/Documents/scripts/vim-browser-vim.sh
Em seguida, aplique.
Em seguida, atribua a tecla de atalho de sua escolha. Eu usei Ctrl + 2, eu sinto que o dedo é preguiçoso e precisa de um treino;)
Clique em Fechar.
Agora você pode executar o script pressionando o atalho!
Mudança de vida! hehe ..
-
Solução de problemas:
Se o script não estiver funcionando, as coisas que você precisa procurar:
PS: NÃO TENTE GERAR ALT + TAB E OUTRAS TECLAS DE COMBINAÇÃO DE DESKTOP. Isso realmente funcionará no console, mas não quando for iniciado pelo sistema de atalhos do gnome. Estou assumindo aqui que este código de atalho lança o script em seu próprio sandbox e gerar coisas como Alt + Tab para alternar o aplicativo não funcionará, pois não há aplicativos nesse sandbox. Horas em que o desperdício tenta fazer com que isso funcione.
Tags shell