echo -n "string" | xclip -selection clipboard
J'aurais probablement dû élaborer un peu. La valeur par défaut pour écho est de sortir la chaîne ET une nouvelle ligne. -n supprime ce dernier.
La solution la plus générique consiste à ignorer les nouvelles lignes quelle que soit la source d'entrée. Par exemple, le cas d'utilisation courant consiste à copier dans le presse-papiers un chemin du répertoire courant. La commande
pwd | xclip -selection clipboard
copie le caractère de nouvelle ligne et ce n'est souvent pas ce que nous voulons.La solution est le suivant :
pwd | xargs echo -n | xclip -selection clipboard
Vous pouvez créer un alias pour le rendre plus pratique :
alias xclip='xargs echo -n | xclip -selection clipboard'
et désormais utiliser :
pwd | xclip # copied without new line
echo "foo" | xclip # copied without new line
Depuis la version 0.13 de xclip, vous disposez d'un moyen générique qui préservera les nouvelles lignes intérieures avec l'option r ou rmlastnl .
Vous aurez donc :
pwd | xclip -r # copied without new line
echo "foo" | xclip -r # copied without new line
ps | xclip -r # copied without the last new line!