2010-10-26 15 views
17

¿hay alguna manera fácil de implementar la opción copy to clipboard del resultado de un script de shell?shell script salida al portapapeles

+0

¿Te refieres de una manera portátil? – mouviciel

+0

¿Has probado googlear "bash clipboard"? Parece que hay mucha información útil por ahí. – brainjam

+2

¿Qué portapapeles? Portapapeles X11? Portapapeles de Windows? Portapapeles de Mac? Portapapeles de KDE? – Quentin

Respuesta

24

Eso puede depender del entorno que esté utilizando. Con Gnome al menos (no he probado los otros pero puede trabajar), se puede canalizar la salida de la siguiente manera:

echo 123 | xclip 
echo 123 | xclip -sel clip 

El primero va al portapapeles del ratón, el segundo en el portapapeles "normal".

+0

, por supuesto, tenga en cuenta que xclip no siempre se distribuye e instala de manera predeterminada, por lo que es posible que no desee utilizarlo a menos que esté seguro de que su cliente lo tiene. Es posible que los lectores futuros deseen verificar si la fuente de xclip puede usarse en el entorno de scripts O encontrar un script que lo haga, incluso si está en perl o algo, al menos, Perl está instalado en la mayoría de las distribuciones de manera predeterminada. – osirisgothra

+0

TAMBIÉN: vale la pena señalar que "xclip -sel clip" la primera letra solo se usa con -selo, lo que significa que simplemente puede usar "xclip -sel c", por supuesto, las opciones están en un contexto no ambiguo, por lo que podría usar : "xclip -se c" – osirisgothra

5

Puede usar el comando xclip.

echo hello | xclip 

instrucciones para obtener xclip son here.

+0

Gracias ... pero ¿hay algún comando incorporado para hacerlo? – Vamsi

18

Puede usar pbcopy que es nativo para Mac OSX.

probar este comando:

echo "variable" | pbcopy 

copiará la cadena "variable" en el portapapeles.

1

echo imprime una nueva línea al final también. En caso que cualquier otra persona golpea el mismo problema, he utilizado el enfoque de Mauro, pero con el comando printf por lo que es sólo la cadena, hay una línea extra:

Para Mac:

printf "$YOUR_VAR" | pbcopy 
0

Si lo hace en Windows 10 LXXS Ubuntu bash puedes hacer

echo "What so ever..." |clip.exe 
Cuestiones relacionadas