Вывести содержимое системного буфера обмена в bash

10

Есть способ поместить некоторые команды в системный буфер обмена через xclip.

some-command | xclip -selection clipboard

Я хотел бы выполнить обратную задачу - Распечатать системный буфер обмена на терминал. Как это можно сделать?

Loom
источник
Не дубликат, но определенно связанный, этот вопрос и особенно ответы даны
Bananguin

Ответы:

8

В соответствии с man-страницей -oвозможность xclipсдвигать данные в обратном направлении:

   -i, -in
          read text into X selection from standard input or files (default)

   -o, -out
          prints the selection to standard out (generally for piping to a file or program)

В приведенной выше команде -iпредполагается, что.

Bratchley
источник
7

Другой выбор - xselпрограмма:

By default, this program outputs the selection without modification  if
   both  standard  input  and standard output are terminals (ttys). Other
   wise, the current selection is output if standard output is not a  ter
   minal  (tty),  and the selection is set from standard input if standard
   input is not a terminal (tty). If any input or output options are given
   then the program behaves only in the requested mode.

Итак, просто скопируйте что-нибудь в буфер обмена и запустите, xselчтобы напечатать это в терминал. Вы можете прочитать man xselболее продвинутые опции, например, какой буфер обмена использовать и т. Д.

Тердон
источник
5
Чтобы упростить вещи ... это то, что я делаю: alias pbcopy='xsel --clipboard --input'; alias pbpaste='xsel --clipboard --output' я выбрал имена, соответствующие командам MacOS.
Bananguin