Как скопировать терминальную команду в буфере обмена, не используя мышь?

enter image description here

gsettings set org.gnome.desktop.interface clock-show-date true

Я хочу скопировать эту команду в буфер обмена так, чтобы я мог вставить его в файле или Спросить вопросе о Ubuntu легко.

Я знаю, что могу скопировать это путем выбора его и нажатия Ctrl+Shift+C, но я хочу получить мышь бесплатный ответ.

5
задан 25 May 2018 в 11:04

1 ответ

Можно использовать bashРасширение Истории, для копирования предыдущей командной строки в буфер обмена, не выполняя замену команды расширения и т.д. делают:

echo !!:q | xclip -sel clip # or respectively
echo !!:q | xsel -ib

!! ярлык для !-1, обращение к предыдущей команде. Двоеточие : предшествует модификатору q, который позволяет расширению заключить слова, которыми заменяют в кавычки, с одинарными кавычками для предотвращения дальнейших замен.

Пример выполняется

$ uname -r                        # run your command
4.10.0-35-generic
$ echo !!:q | xclip -sel clip     # copy the previous command to clipboard 
echo 'uname -r' | xclip -sel clip # this line shows what’s done
$ xclip -sel clip -o              # print clipboard content (just for testing)
uname -r
$ $(xclip -sel clip -o)           # run command stored in clipboard (just for testing)
4.10.0-35-generic

Для упрощения этого, можно создать alias или набор сочетание клавиш в настройках. Читать man bash/ РАСШИРЕНИЕ ИСТОРИИ и man history узнать больше о расширении истории.

5
ответ дан 23 November 2019 в 09:20

Другие вопросы по тегам:

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