¿Hay funcionalidad en Unix que permita lo siguiente:
echo "Some Text" | copy-to-clipboard
Hay un par de herramientas capaces de escribir en el portapapeles; Yo uso xsel
. Se necesitan banderas para escribir en la selección X principal (-p
), selección secundaria (-s
) o portapapeles (-b
). Pasándolo -i
le dirá que lea de stdin, por lo que desea:
$ echo "Some Text" | xsel -i -b
Usando xclip
, como sugirió @Nicolas, si luego desea pegar el contenido del portapapeles, como usar Ctrl + V, puede usarlo de esta manera:
$ echo "Some Text" | xclip -selection clipboard
puedes usar xsel
xsel < file
En Mac OS X existen los encantadores comandos pbcopy
y pbpaste
que son muy útiles :)
El más simple es probablemente xclip
:
$ echo "Some Text" | xclip
Luego pegue usando el botón central de su mouse.
Al igual que xsel
, por lo general no está instalado de manera predeterminada, por lo que es posible que deba instalarlo (Sudo apt-get install xclip
en Debian/Ubuntu).
xclip
es una buena manera de responder a @Nicolas Raoul, pero al canalizar cualquier cosa que contenga una nueva línea en el portapapeles, como pwd
, la nueva línea también se copia. En algunas situaciones puede desearse, pero la mayoría no quiere la nueva línea.
La solución es:
echo -n $(pwd) | xclip -selection clipboard
(-n
elimina la nueva línea del argumento repetido)
o:
printf %s $(pwd) | xclip -selection clipboard
El ""
Alrededor de $(pwd)
puede ser requerido pero funciona con y sin ubuntu con bash.