Как я могу поместить последнюю команду zsh в истории в буфер обмена?


2

Со мной часто случается, что я просто использовал команду, и мне нужно скопировать / вставить ее в другое окно терминала / IM или что-то еще.

На Mac я могу использовать pbcopyкоманду, чтобы получить что-то в буфере обмена, но я не уверен, как мне получить команду. Что я придумал

history | tail -n 1 | perl -ple 's/\d+\s+//' | pbcopy

который работает, но это не похоже на чистое решение. Есть ли лучший способ добраться до последней команды? Я использую zsh, но я думаю, если есть решение для bashэтого тоже будет работать zsh.

Ответы:


8

В качестве разового взноса для последней команды:

echo !! | pbcopy 

поместит точно последнюю команду в буфер обмена.


Это очень хороший трюк! +1
Яник Жируард

0

Вы можете использовать xclip для этой задачи.
Смотрите здесь. Вы
можете просто вставить что-то в буфер обмена следующим образом:

history 2 | xclip

Xclip требует сеанса X11 ...
Яник Жируард

1
Если вы внимательно прочитаете вопрос, вы заметите эту часть первого предложения: «Мне нужно скопировать / вставить его в другое окно терминала / IM или в другое место». Разве это не означает, что у него есть X-сессия?
Нико С.П.

Нет, это подразумевает, что у него есть сеанс окна, который может быть X, но это также может быть Unity, NeWS, Finder.app или любой другой графический интерфейс, который может иметься в системе.
HD1
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.