Есть ли в Unix функциональность, которая позволяет:
echo "Some Text" | copy-to-clipboard
command-line
clipboard
Стефан
источник
источник
stdin
.<longTextFile straightToClipboard
. Это так же, какcat longTextFile straightToClipboard
, но не требует запускаcat
. Просто наблюдение. Не стесняйтесь игнорировать это. Посмотрите Награду «За бесполезное использование кошек», если вам интересно.Ответы:
Есть пара инструментов, способных записывать в буфер обмена; Я использую
xsel
. Для записи в основной X selection (-p
), вторичный selection (-s
) или в буфер обмена (-b
) требуются флаги . Передав это,-i
он скажет, что читает со стандартного ввода, так что вы хотите:источник
-i
не требуется в этом случае:man xsel
1.2.0 говорит:and the selection is set from standard input if standard input is not a terminal (tty)
Используя
xclip
, как предложил @Nicolas, если вы хотите позже вставить содержимое буфера обмена, например, используя Ctrl + V, вы можете использовать его следующим образом:источник
echo "Some Text" | xclip -sel c
тоже работает.Вы можете использовать Xsel
источник
xsel -ib <file-long-or-short
(«Смотри, мам, нет кота!» :) ... или, если тебе нравится<file-long-or-short xsel -ib
.. -i по умолчанию. -b для типа clipBoardВ Mac OS X есть прекрасные
pbcopy
иpbpaste
команды , которые очень полезны :)источник
Самый простой, вероятно
xclip
:Затем вставьте с помощью средней кнопки мыши.
Например
xsel
, он обычно не устанавливается по умолчанию, поэтому вам может потребоваться установить его (sudo apt-get install xclip
в Debian / Ubuntu).источник
xclip
требует-selection clipboard
опции. Выбор по умолчанию для его man-страницы - это нечто другое.xclip
Это хороший способ, как ответил @Nicolas Raoul, но при передаче в буфер обмена всего, что содержит символ новой строки, напримерpwd
, новая строка также копируется. В некоторых ситуациях это может быть желательно, но в большинстве случаев не требуется перевода строки.Решение либо:
echo -n $(pwd) | xclip -selection clipboard
(
-n
удаляет символ новой строки из аргумента echoed)или:
printf %s $(pwd) | xclip -selection clipboard
""
Вокруг$(pwd)
может потребоваться , но она работает с и без на убунту с Баш.источник