Труба в / из буфера обмена в скрипте Bash - PullRequest
812 голосов
/ 15 апреля 2009

Можно ли передавать в буфер обмена в Bash?

Я не могу найти ничего, что бы это ни было: от трубопровода к дескриптору устройства или от вспомогательного приложения.

Например, если /dev/clip было устройством, связывающим с буфером обмена, мы могли бы сделать:

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

Ответы [ 23 ]

1 голос
/ 17 сентября 2015

Если вы похожи на меня и работаете на linux-сервере без привилегий root и не существует xclip или gpm, вы можете обойти эту проблему, просто используя временный файл. Например:

$ echo "hello world" > ~/clip
$ echo `cat ~/clip`
hello world
0 голосов
/ 07 октября 2016

Хотя> 1 год спустя я поделюсь несколько другим решением. Надеюсь, это кому-нибудь пригодится.

Вчера у меня возник вопрос: «Как разделить буфер обмена между различными сеансами пользователя?» . При переключении между сеансами с помощью ctrl alt F7 - ctrl alt F8 , в На самом деле, вы не можете вставить то, что скопировали.

Я придумал следующее решение quick & dirty , основанное на именованном канале. Это, конечно, довольно голый и сырой, но я нашел его функциональным:

user1@host:~$ mkfifo /tmp/sharedClip

затем в отправляющем терминале

user1@host:~$ cat > /tmp/sharedClip

последний, в приемном терминале:

user2@host:~$ cat /tmp/sharedClip

Теперь вы вводите или вставляете что-либо в первый терминал, и (после нажатия верните ) оно сразу же появится в приемном терминале, откуда вы сможете снова копировать / вставлять в любое место.

Конечно, это не просто строго берет контент из буфера обмена user1, чтобы сделать его доступным в буфере обмена user2, а скорее требует дополнительной пары кликов Paste & Copy.

0 голосов
/ 29 августа 2016

Существует также xclip-copyfile .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...