GNU/Linux >> Tutoriels Linux >  >> Linux

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

Il existe une multitude de presse-papiers auxquels vous pourriez avoir affaire. Je suppose que vous êtes probablement un utilisateur Linux qui souhaite mettre des éléments dans le presse-papiers principal de X Windows. Habituellement, le presse-papiers auquel vous voulez parler a un utilitaire qui vous permet de lui parler.

Dans le cas de X, 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 êtes sur Mac OS X, il y a pbcopy . par exemple cat example.txt | pbcopy

Si vous êtes en mode terminal Linux (pas de X), regardez dans gpm ou un écran qui a un presse-papiers. Essayez le screen commande readreg .

Sous Windows 10+ ou cygwin, utilisez /dev/clipboard ou clip .


Assurez-vous que vous utilisez alias xclip="xclip -selection c" sinon vous ne pourrez pas coller en utilisant Ctrl +v .

Exemple :Après avoir exécuté echo -n test | xclip , Ctrl +v collera test


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 au apt-get ni pacman , ni dnf , les sources sont disponibles sur sourceforge.

Configuration

Frapper

En ~/.bash_aliases , ajoutez :

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

En ~/.config/fish/config.fish , ajoutez :

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

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

Utilisation

Vous pouvez maintenant utiliser setclip et getclip , par exemple :

$ echo foo | setclip
$ getclip
foo

Linux
  1. Empêcher un script bash de s'exécuter simultanément

  2. Pourquoi le script Bash ne reconnaît-il pas les alias ?

  3. Script Bash pour supprimer le fichier le plus ancien d'un dossier ?

  4. Option Rsync inconnue à partir de l'exécution du script Bash ?

  5. Variable dans Bash Script qui conserve sa valeur depuis la dernière exécution

La meilleure façon de détecter (à partir d'un script) si un logiciel est installé ?

Comment arrêter le script Loop Bash dans le terminal ?

Obtenir le chemin complet depuis le script Bash ?

Inclure conditionnellement une étape Pipe dans un script Bash ?

Script Bash vers Center Fortune/texte depuis Stdin/pipe ?

Script bash pour supprimer le fichier le plus ancien d'un dossier