Как я отправляю stdin в буфер обмена?

В более общем плане.d каталоги (/etc/httpd/conf.d,/etc/rc.d,/etc/being другой пример), указывает, что содержавшие файлы будут читаться и использоваться, часто для конфигурации, если они будут соответствовать данному шаблону и не потребуют быть явно добавленным к некоторому основному списку.

Таким образом, если Вы добавите файлы формы *.repo к/etc/yum.repos.d, то конфетка будет использовать его при выполнении, не будучи должен добавить его к списку конфигураций/etc/yum.conf. Если Вы добавите файлы формы *.conf к/etc/http/conf.d, то они будут считаны Apache, не будучи должен быть явно добавленными к/etc/httpd/conf/httpd.conf. Точно так же chkconfig в файлы в/etc/init.d, задания крона в/etc/cron.d.

45
09.11.2010, 20:40
6 ответов

Существует пара инструментов, способных к записи в буфер обмена; я использую xsel. Это берет флаги для записи в основное устройство X выборов (-p), вторичный выбор (-s), или буфер обмена (-b). Передача его -i скажет этому читать из stdin, таким образом, Вы хотите:

$ echo "Some Text" | xsel -i -b
35
27.01.2020, 19:34
  • 1
    Другой - xclip; это принимает от stdin по умолчанию. Я только использую его, потому что это является первым такой инструмент, о котором я узнал. Гостевые дополнения –  Shawn J. Goff 09.11.2010, 21:04
  • 2
    @Shawn это как отдельный :) –  Michael Mrozek♦ 09.11.2010, 21:35
  • 3
    я думаю -i не требуется в этом случае: man xsel 1.2.0 говорит: and the selection is set from standard input if standard input is not a terminal (tty) –  Ciro Santilli 新疆改造中心法轮功六四事件 24.07.2015, 18:14
  • 4
    xsel не работал на меня (я не знаю, почему), но xclip (на другие ответы) сделал. –  markrian 17.01.2017, 17:28

можно использовать xsel

xsel < file 
9
27.01.2020, 19:34
  • 1
    Вопрос: Какой буфер обмена? X-сервер Linux имеет 3 (обычно, только 2 используются)... xsel, использует ОСНОВНОЙ буфер обмена по умолчанию.. ОСНОВНОЙ буфер обмена умирает автоматически каждый раз, когда Вы просто выбираете soemthing. Вы вставляете если путем нажатия центральной кнопки мыши.. Ctrl+C / буфер обмена типа Crtr+V называют буфером обмена БУФЕРА ОБМЕНА :).. таким образом, если Вы хотите использовать Ctrl+C / буфер обмена Ctrl+V с 'xsel', команда: xsel -ib <file-long-or-short ("Смотрят мама, никакая кошка!" :)... или если Вам нравится <file-long-or-short xsel -ib ..-i является значением по умолчанию.-b для типа Ctrl+C/Ctrl+V буфера обмена –  Peter.O 05.04.2011, 14:42
  • 2
    оболочек. Отредактированный. @jamespo - это, кажется, не работает. –  ripper234 05.04.2011, 15:26
  • 3
    работает на меня на терминале гнома в человечности 10.04 с помощью xsel в repo (вставка со средней кнопкой) –  jamespo 05.04.2011, 18:42

На Mac OS X существуют прекрасные pbcopy и pbpaste команды, которые очень полезны :)

7
27.01.2020, 19:34

Самое простое, вероятно, xclip:

$ echo "Some Text" | xclip

Затем вставка с помощью средней кнопки мыши.

Как xsel, это обычно не устанавливается по умолчанию, таким образом, Вы, возможно, должны были бы установить его (sudo apt-get install xclip на Debian/Ubuntu).

0
27.01.2020, 19:34
  • 1
    xclip требует -selection clipboard опция. Выбор по умолчанию на его страницу справочника - что-то еще. –  Acumenus 09.10.2014, 23:03

Использование xclip , как предложил @Nicolas, если вы хотите позже вставить содержимое буфера обмена, например, используя Ctrl + V , вы можете использовать его следующим образом:

$ echo "Some Text" | xclip -selection clipboard
11
27.01.2020, 19:34

xclip- это хороший способ, как ответил @Nicolas Raoul, но при передаче в буфер обмена чего-либо, содержащего новую строку, например pwd, новая строка также копируется. В некоторых ситуациях это может быть желательно, но в большинстве случаев новая строка не нужна.

Решение либо:

echo -n $(pwd) | xclip -selection clipboard

(-nудаляет новую строку из эхо-аргумента)

или:

printf %s $(pwd) | xclip -selection clipboard

Может потребоваться ""вокруг $(pwd), но он работает как с Ubuntu, так и без нее с bash.

2
20.08.2021, 13:39

Теги

Похожие вопросы