Réponses:
Utilisez quelque chose comme:
someCommand | clip
Cela conduira le résultat au presse-papiers de Windows
J'utilise le shell de commande Git Bash pour Windows, et comme quelqu'un l'a mentionné ci-dessus, l'utilisation clip
est très ennuyeuse, car elle copie également le retour chariot à la fin de la sortie d'une commande. J'ai donc écrit cette fonction pour y répondre:
function cpy {
while read data; do # reads data piped in to cpy
echo "$data" | cat > /dev/clipboard # echos the data and writes that to /dev/clipboard
done
tr -d '\n' < /dev/clipboard > /dev/clipboard # removes new lines from the clipboard
}
Donc par exemple:
$ pwd | cpy # copies directory path
$ git branch | cpy # copies current branch of git repo to clipboard
tr
et le conserver clip
, par exemple:pwd | tr -d \r\n | clip
Juste pour référence, je devais copier ma clé publique directement après que Bitbucket m'avait averti. J'ai pu utiliser @soandos répondre comme suit:
cat ~/.ssh/id_rsa.pub | clip
copier ma clé directement à partir de la ligne de commande sur un PC. (puisque la ligne de commande est nulle comparée au terminal)
Pour une utilisation dans WSL / bash . Ajouter à ~/.bashrc
:
function pbcopy() {
printf $(</dev/stdin) | clip.exe
}
export -f pbcopy
printf %s "$(...
pour empêcher le% d’expansion dans l’entrée? Je ne sais pas pourquoi le printf est nécessaire
Dans PowerShell, il suffit de diriger le texte dans Set-Clipboard
. Pour taper rapidement, vous pouvez utiliser l'alias scb
. Cela n'ajoute pas de saut de ligne supplémentaire, contrairement à l' clip
utilitaire.
Par exemple, cette commande place le contenu de myfile.txt
dans le presse-papiers:
gc .\myfile.txt | scb
Notez que pour les objets représentant des objets de système de fichiers, Set-Clipboard
l'objet sera copié de la même façon que l'explorateur le fait lorsque vous Ctrl + C un fichier. Si ce n'est pas ce que vous souhaitiez, dirigez d'abord l'objet vers lui Out-String
.
Cette fonction remplace le clip Windows standard dans Git Bash où une nouvelle ligne finale est copiée.
function clip {
printf "$(</dev/stdin)" | cat > /dev/clipboard
}
Ceci est basé sur la réponse de Matthew qui ne conserve que la dernière ligne et introduit une nouvelle ligne. Utilisation printf
évite la nouvelle ligne qui echo
ajoute.
C:\Windows\system32\clip.exe
.