1

У меня есть текст в буфер обмена. Я хочу поместить его в терминал, передать его в другую команду.

Точный вариант использования - это сертификат X509 в кодировке PEM на веб-сайте, представленный в виде текста (-----BEGIN CERTIFICATE----- ...). Я хочу выбрать его, скопировать, а затем поместить его в терминал и направить утилиту OpenSSL x509 для сброса сертификата.

Как один кот отправляет текст в буфер обмена в терминал? (Если возможно, я хотел бы сделать это как с Linux, так и с OS X, так как я использую оба).

3 ответа3

3

В OS X pbpaste и pbcopy делают то, что вы хотите - вставляя и копируя с помощью stdin/stdout, соответственно. Источник

Для X (как в X11/Xorg) есть xclip . Запись вывода в stdout может быть выбрана с помощью параметра -out . Источник

2

Что касается использования xclip, я нашел это полезным - нашел где-то в сети.

--8 <- буфер обмена -

#!/bin/bash
# Usage: someapp | clipboard     # Pipe someapp's output into clipboard
#        clipboard | someapp     # Pipe clipboard's content into someapp
#

if command -v xclip 1>/dev/null; then
    if [[ -p /dev/stdin ]] ; then
        # stdin is a pipe
        # stdin -> clipboard
        xclip -i -selection clipboard
    else
        # stdin is not a pipe
        # clipboard -> stdout
        xclip -o -selection clipboard
    fi
else
    echo "Remember to install xclip"
fi
1

Если вы скопировали данные в буфер обмена

xclip может использоваться для стандартного вывода содержимого буфера обмена, так что вы можете передать и обработать его как xclip -o -selection clipboard | ...

ИЛИ ЖЕ

Сохраните его в переменную и echo его.

cert='-----BEGIN CERTIFICATE----- ...'; 
echo $cert | ...`

Если данные находятся в файле

Как все знают, cat делает эту работу.
cat /path/to/file | ...

Если данные находятся в Интернете

wget может быть использован для отслеживания онлайн-файла. Предполагая, что это в текстовом файле.
wget -O- www.site.com/path/to/file.txt | ...

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .