我如何才能管道输出的命令到我的剪贴板,并粘贴回来时,使用终端?例如:

cat file | clipboard

当前回答

我制作了一个提供类似功能的小工具,但没有使用xclip或xsel。Stdout复制到剪贴板,并可以再次粘贴到终端中。看到的:

https://sourceforge.net/projects/commandlinecopypaste/

注意,这个工具不需要x会话。剪贴板可以在终端内使用,不需要通过Ctrl+V或鼠标中键单击粘贴到其他x窗口中。

其他回答

我使用Parcellite和xsel复制上次提交消息从git到我的剪贴板管理器(由于某种原因xclip不工作):

$ git log -1 --pretty=%B | xsel -i -b

对于那些使用bash安装在他们的windows系统(称为windows子系统For Linux (WSL))上的用户,尝试xclip将会给出一个错误:

Error: Can't open display: (null)

相反,回想一下linux子系统可以访问windows可执行文件。可以像这样使用clip.exe

echo hello | clip.exe

它允许您使用粘贴命令(ctrl-v)。

我在这里创建了一个工具

取决于xclip包

当我需要复制ssh-key时,我通常会执行这个命令:

cat ~/.ssh/id_rsa.pub | pbcopy

Cmd +v或ctrl+v任意位置。

基于之前的文章,我最终得到了以下轻量级的别名解决方案,可以添加到.bashrc:

if [ -n "$(type -P xclip)" ]
then
  alias xclip='xclip -selection clipboard'
  alias clipboard='if [ -p /dev/stdin ]; then xclip -in; fi; xclip -out'
fi

例子:

# Copy
$ date | clipboard
Sat Dec 29 14:12:57 PST 2018

# Paste
$ date
Sat Dec 29 14:12:57 PST 2018

# Chain
$ date | clipboard | wc
   1       6      29