Como posso alimentar o conteúdo da área de transferência para o gnome-terminal?

1

Eu tenho um plugin que gera e copia para a área de transferência um comando pronto para colar. Por agora eu abro um novo terminal, cole o comando e execute-o. Eu quero escrever um script que abre automaticamente um novo terminal e executa esse comando usando a área de transferência como entrada.

Eu tentei usar o xclip, mas não consegui descobrir como canalizar sua saída para o gnome-terminal, e todos os threads que vi se concentraram no problema oposto: salvar a saída do comando na área de transferência que NÃO é o que eu quero fazer .

O que eu tentei: xclip -se c -o | gnome-terminal -e

Ele diz "Falha ao analisar argumentos: argumento ausente para -e". Então, no mínimo, eu tenho um problema de sintaxe.

Tenho a sensação de que talvez eu não esteja abordando esse problema da maneira correta. Noob completo aqui, então quanto mais detalhes, melhor!

Obrigado!

    
por MonkeyBack 02.11.2017 / 20:02

1 resposta

1

Parece que gnome-terminal não pode receber entrada de stdin, então você precisa usar substituição de comandos :

gnome-terminal -e "$(xclip -se c -o)"

Além disso, se você deseja realizar a divisão de palavras e globbing no conteúdo da área de transferência antes de ser executado, use:

gnome-terminal -x $(xclip -se c -o)

Se você precisar manter o terminal aberto quando o comando for concluído, você poderá usar isto:

gnome-terminal -x bash -c "$(xclip -se c -o); read -p 'Press Enter to close.'"

Ou se você quiser ir para um prompt interativo:

gnome-terminal -x bash -c "$(xclip -se c -o); bash"

Para mais idéias, veja Com um lançador para um aplicativo de terminal, como posso manter o terminal aberto após a conclusão do programa?

    
por wjandrea 02.11.2017 / 21:24