Existe funcionalidade no unix que permite o seguinte:
echo "Some Text" | copy-to-clipboard
Existem algumas ferramentas capazes de gravar na área de transferência; Eu uso xsel
. É preciso sinalizadores para gravar na seleção X principal (-p
), seleção secundária (-s
) ou área de transferência (-b
). Passando -i
dirá para ler a partir de stdin, então você deseja:
$ echo "Some Text" | xsel -i -b
Usando xclip
, como o @Nicolas sugeriu, se você quiser colar posteriormente o conteúdo da área de transferência, como Ctrl + V, poderá usá-lo desta maneira:
$ echo "Some Text" | xclip -selection clipboard
você pode usar xsel
xsel < file
No Mac OS X, existem os adoráveis comandos pbcopy
e pbpaste
que são muito úteis :)
O mais simples é provavelmente xclip
:
$ echo "Some Text" | xclip
Em seguida, cole usando o botão do meio do mouse.
Como xsel
, geralmente não é instalado por padrão, portanto, você pode precisar instalá-lo (Sudo apt-get install xclip
no Debian/Ubuntu).
xclip
é um bom caminho a seguir, conforme respondido por @Nicolas Raoul, mas ao canalizar qualquer coisa que contenha uma nova linha na área de transferência, como pwd
, a nova linha também é copiada. Em algumas situações, pode ser desejado, mas a maioria não quer a nova linha.
A solução é:
echo -n $(pwd) | xclip -selection clipboard
(o -n
remove a nova linha do argumento ecoado
ou:
printf %s $(pwd) | xclip -selection clipboard
O ""
Em torno de $(pwd)
pode ser necessário, mas funciona com e sem no ubuntu com bash.