Dans un terminal sous OSX, je peux diriger la sortie vers pbcopy, puis aller dans un navigateur Web et la coller. J'ai essayé cela sous Linux avec xcopy, mais lorsque je passe au navigateur, il écrase simplement le presse-papiers avec ce qu'il contenait lors de la dernière utilisation du navigateur. Qu'est-ce qui fonctionne comme pbcopy sous Linux?
si vous avez installé X, vous pouvez essayer xsel de cette façon:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
ou avec xclip:
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
maintenant vous pouvez les utiliser:
echo 'go to my clipboard' | pbcopy
lorsque je n'ai pas X j'utilise GNU la fonctionnalité Screen pour copier entre des shells ouverts dans une session à l'aide du clavier
copier: Ctrl-a -> Esc -> go to wanted position * -> Space (to begin selecting) -> press k to go forward mark text -> Enter
coller: Ctrl-a + ]
* les mouvements sont effectués avec vim comme les raccourcis clavier (j, k, l & m).
Placez un script comme celui-ci appelé pbcopy dans votre dossier bin:
#!/bin/bash
xclip -i -sel c -f |xclip -i -sel p
Cela mettra STDIN à la fois dans votre tampon de sélection et dans le presse-papiers:
echo Hello world |pbcopy
Développer les solutions de @Erik et @xpixelz; ces deux scripts devraient fonctionner sur les deux plateformes:
pbcopy:
#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
cat | /usr/bin/pbcopy
else
# copy to selection buffer AND clipboard
cat | xclip -i -sel c -f | xclip -i -sel p
fi
pbpaste:
#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
/usr/bin/pbpaste
else
xclip -selection clipboard -o
fi
Cette réponse fait référence au sous-système Linux pour Windows.
Réponse courte: utilisez clip.exe
comme s'il s'agissait de pbcopy
afin de mettre quelque chose dans le presse-papier de Windows. C'est magique. Exemple echo "Hello Windows" | clip.exe
dans votre terminal bash ou Ubuntu bash, puis ctrl-v dans un programme Windows.
Plus de contexte:
Dans un commentaire ci-dessus / j'ai mentionné que, lors de l'utilisation de Xming sous Windows pour activer cette fonctionnalité, il est nécessaire de définir une variable DISPLAY (export DISPLAY=:0
, dans de nombreux cas) avant que les solutions xsel
et xclip
ne fonctionnent. Curieusement, cette solution fonctionne de manière stochastique et peu fiable: lors du collage de Linux à Windows, une pression sur ctrl-v
entre une et dix fois provoque le collage du presse-papiers (une fois) (cela se trouve sur Windows 10 Surface Book 2). Ne perdez pas votre temps, utilisez clip.exe
.
NOTE: N'oubliez pas le .exe
. Sinon, Ubuntu bash vous proposera d'installer le paquet Linux geomview
, ce qui n'est pas ce que vous voulez.