Como copiar o comando terminal na área de transferência sem usar o mouse?

5

gsettings set org.gnome.desktop.interface clock-show-date true

Eu quero copiar este comando para a área de transferência para que eu possa colá-lo em um arquivo ou fazer uma pergunta no Ubuntu com facilidade.

Eu sei que posso copiar isso selecionando-o e pressionando Ctrl + Deslocamento + C , mas quero obter uma resposta livre do mouse .

    
por alhelal 25.05.2018 / 18:56

1 resposta

5

Você pode usar a Expansão do histórico de bash , para copiar a linha de comando anterior para sua área de transferência sem executar substituição de comandos, expansões etc. faça:

echo !!:q | xclip -sel clip # or respectively
echo !!:q | xsel -ib

!! é um atalho para !-1 , referindo-se ao comando anterior. Cólon : precede o modificador q , que permite que a expansão cite as palavras substituídas com aspas simples para evitar substituições posteriores.

Exemplo de execução

$ uname -r                        # run your command
4.10.0-35-generic
$ echo !!:q | xclip -sel clip     # copy the previous command to clipboard 
echo 'uname -r' | xclip -sel clip # this line shows what’s done
$ xclip -sel clip -o              # print clipboard content (just for testing)
uname -r
$ $(xclip -sel clip -o)           # run command stored in clipboard (just for testing)
4.10.0-35-generic

Para simplificar isso, você pode criar um alias ou definir um atalho de teclado nas configurações. Leia man bash / EXPANSÃO HISTÓRICA e man history para saber mais sobre a expansão do histórico.

    
por dessert 25.05.2018 / 19:19