Passa 'texto digitado' do shell interativo do bash para um comando

3

Eu gostaria de passar o que o usuário digitou em um shell bash para um comando, quando o usuário pressiona um | atalho de teclado |

Por exemplo: Vamos dizer que Ctrl + b é nossa ligação

bind '"\C-b": "myCommand.sh"' 

O usuário digita tar czv e depois pressiona o atalho - que passa a string 'tar czv' para mycommand.sh

Isso é possível? A única maneira que posso pensar é para passá-lo depois de ecoar.

bind '"\C-b": " \e[1~ echo '\''\e[4~'\''| mycommand.sh\n"'

Existe uma maneira melhor?

    
por gyaani_guy 15.07.2015 / 13:45

1 resposta

0

Não tenho certeza se entendi exatamente, mas isso parece fazer o que você quer (?).

bind '"\C-b": "\C-a\C-kecho \'\'\C-y\'\' | myCommand.sh\n"'

A cotação fica complicada. Mais fácil em ~ / .inputrc:

"\C-b": "\C-a\C-kecho \'\C-y\' | myCommand.sh\n"

Em vez de ecoar, que tal o script ter um argumento de linha de comando em vez disso? Mais uma vez, em ~ / .inputrc:

"\C-b": "\'\C-amyCommand.sh \'\n"
    
por 15.07.2015 / 15:24