47 votes

Copier la sortie du shell script dans le presse-papiers

Existe-t-il un moyen simple d'implémenter l'option de copie dans le presse-papiers à partir de la sortie d'un script shell script ?

0 votes

Vous voulez dire de manière portable ?

0 votes

Avez-vous essayé de googler "bash clipboard" ? Il semble qu'il y ait beaucoup d'informations utiles.

2 votes

Quel presse-papiers ? Presse-papiers X11 ? Presse-papiers Windows ? Presse-papiers Mac ? Presse-papiers KDE ?

60voto

paxdiablo Points 341644

Cela peut dépendre de l'environnement que vous utilisez. Avec Gnome au moins (je n'ai pas essayé les autres mais cela peut fonctionner), vous pouvez canaliser votre sortie comme suit :

echo 123 | xclip
echo 123 | xclip -sel clip

Le premier va dans le presse-papiers de la souris, le second dans le presse-papiers "normal".

45voto

Mauro Points 172

Vous pouvez utiliser pbcopy qui est natif pour Mac OS.

Essayez cette commande :

echo "variable" | pbcopy

il copiera la chaîne "variable" dans votre presse-papiers.

13voto

Markus Zeller Points 21

Si vous faites cela sur Windows 10 LXXS Ubuntu bash vous pouvez faire la commande suivante, qui fonctionne aussi sur WSL2.

Copie de WSL vers le presse-papiers de Windows

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

L'autre façon de transférer le presse-papiers de Windows vers WSL peut être réalisée à l'aide de PowerShell. Il dispose d'une commande appelée Get-Clipboard et un joli alias court gcb .

Coller dans WSL à partir du presse-papiers de Windows

powershell.exe -Command gcb | cat

Si vous l'utilisez plus souvent, vous pouvez créer un alias dans le bash comme

alias wcopy="powershell.exe -Command gcb"

puis l'utiliser rapidement comme

wcopy | cat

6voto

dogbane Points 85749

Vous pouvez utiliser le xclip commandement.

 echo hello | xclip

Instructions pour obtenir xclip sont aquí .

5voto

Michael Martin Points 143

echo imprime également une nouvelle ligne à la fin. Au cas où quelqu'un d'autre rencontrerait le même problème, j'ai utilisé l'approche de Mauro, mais avec l'attribut printf de façon à ce que ce soit juste la chaîne de caractères, sans ligne supplémentaire :

Pour Mac :

printf "$YOUR_VAR" | pbcopy

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X