答案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
了解有关历史扩展的更多信息。