Question Pipe vers / depuis le presse-papiers dans le script Bash


Est-il possible de rediriger vers / depuis le presse-papiers dans Bash?

Que ce soit de la tuyauterie vers / depuis une poignée de périphérique ou en utilisant une application auxiliaire, je ne trouve rien.

Par exemple, si /dev/clip était un appareil de liaison avec le presse-papiers que nous pouvions faire:

cat /dev/clip        # Dump the contents of the clipboard
cat foo > /dev/clip  # Dump the contents of "foo" into the clipboard

710
2018-04-14 22:06


origine


Réponses:


Tu es un peu ambigu. Je suppose que vous êtes probablement un utilisateur de Linux à l'intérieur de X qui veut mettre des choses dans le X PRIMARY presse-papiers.

Il est important de comprendre que bash n'a pas de presse-papiers. Il n'y a pas de "presse-papiers", parce que bash peut fonctionner sous Windows, Mac OS X, beaucoup d'autres systèmes d'exploitation, à l'intérieur X, en dehors de X, ... Sans oublier que X lui-même a trois différents planchettes. Il y a une foule de presse-papiers que vous pourriez avoir affaire. Habituellement, le presse-papiers auquel vous voulez parler a un utilitaire qui vous permet de lui parler.

Dans le cas de X, oui, il y a xclip (et d'autres). xclip -selection c enverra des données au presse-papiers qui fonctionne avec Ctrl-C, Ctrl-V dans la plupart des applications.

Si vous essayez de parler au presse-papiers de Mac OS X, il y a pbcopy.

Si vous êtes en mode terminal Linux (pas de X) alors peut-être vous devez regarder dans gpm.

Il y a aussi GNOU screen qui a un presse-papiers. Pour mettre des choses là-dedans, regardez le screen commande "readreg".

Sous Windows / cygwin, utilisez /dev/clipboard ou clip pour les versions plus récentes de Windows (au moins Windows 10).


673
2018-04-15 05:57



Assurez-vous que vous utilisez un alias xclip="xclip -selection c" sinon vous ne pouvez pas simplement utiliser pour Ctrl+v pour le coller dans un endroit différent.

echo test | xclip    

Ctrl+v  === test


203
2017-11-17 19:14



Installer

# You can install xclip using `apt-get`
apt-get install xclip

# or `pacman`
pacman -S xclip

# or `dnf`
dnf install xclip

Si vous n'avez pas accès à apt-get ni pacman, ni dnf, les sources sont disponibles sur sourceforge.

Installer

Frapper

Dans ~/.bash_aliases, ajouter:

alias setclip="xclip -selection c"
alias getclip="xclip -selection c -o"

N'oubliez pas de charger votre nouvelle configuration en utilisant . ~/.bash_aliases ou en redémarrant votre profil.

Poisson

Dans ~/.config/fish/config.fish, ajouter:

abbr setclip "xclip -selection c"
abbr getclip "xclip -selection c -o"

N'oubliez pas de redémarrer votre instance de poisson en redémarrant votre terminal pour que les modifications s'appliquent.

Usage

Vous pouvez maintenant utiliser setclip et getclip, par exemple:

$ echo foo | setclip
$ getclip
foo

123
2017-12-13 08:32



Sous Mac OS X, ces outils de ligne de commande peuvent vous être utiles:

EXEMPLE:

cat ~/.bashrc | pbcopy

Après ce contenu de commande de la ~/.bashrc fichier sera disponible pour coller avec cmd+v raccourci.


107
2018-03-05 17:24



Essayer

xclip

xclip - command line interface to X selections (clipboard) 

homme


33
2018-04-14 22:33



xsel sur Debian / Ubuntu / Mint

# append to clipboard:
cat 'the file with content' | xsel -ib

# or type in the happy face :) and ...
echo 'the happy face :) and content' | xsel -ib

# show clipboard
xsel -b

# Get more info:
man xsel

Installer

sudo apt-get install xsel

17
2017-08-18 15:14



Voici un script bash prêt à l'emploi pour lire le presse-papiers qui fonctionne sur plusieurs plates-formes. Veuillez modifier le script ici si vous ajoutez des fonctionnalités (par exemple, plusieurs plates-formes).

#!/bin/bash
# WF 2013-10-04
# multi platform clipboard read access
# supports
#   Mac OS X
#   git shell / Cygwin (Windows)
#   Linux (e.g. Ubuntu)

#
# display an error
#
error() {
  echo "error: $1" 1>&2
  exit 1
}

#
# getClipboard
#
function getClipboard() {
 os=`uname`
      case $os in 
        # git bash  (Windows)
        MINGW32_NT-6.1)
          cat /dev/clipboard;;
        # Mac OS X
        Darwin*)
          pbpaste;;  
        # Linux 
        Linux*)
          # works only for X clipboard - a check that X is running might be due
          xclip -o;;
        *)
          error "unsupported os $os";;
      esac
}

tmp=/tmp/clipboard$$
getClipboard >$tmp
cat $tmp
# comment out for debugging
rm $tmp

10
2017-10-04 15:39



Sur Windows (avec Cygwin), essayez cat /dev/clipboard ou echo "foo" > /dev/clipboard comme mentionné dans ce article.


9
2018-05-31 13:33