
Это может быть вопрос дилетанта. Но у меня проблема с конвейеризацией. Я хочу перенаправить свой буфер обмена в Firefox через терминал. В моем буфере обмена есть URL-адрес типаhttps://www.google.com. Я хочу открыть Firefox, как
firefox https://www.google.com
Теперь я хочу заменить URL Google на что-то из моего буфера обмена. Я попытался передать его по конвейеру так:
xclip -o -selection clipboard | firefox
xclip -o -selection clipboard > url ; firefox url
xclip -o -selection clipboard > url ; cat url | firefox /dev/fd/0
Все три не работают.
Есть ли какие-нибудь предложения, как решить эту проблему?
решение1
Firefox воспринимает URL-адреса только какпараметры командной строки, а не как stdin, и это разные вещи. Так что труба не сломана, это просто неправильный инструмент.
Вам понадобится что-то из следующего:
«Подстановка команд» с использованием операторов
$(…)
«или»`…`
:firefox $(xclip -o -selection clipboard)
Программа, котораяделаетпринимать входные данные из stdin ипреобразуетэто аргументы командной строки:
xclip -o -selection буфер обмена |xargsFire Fox