如何在xclip 上复制并在shell 上查看命令输出?

How to copy on xclip and see the command output on the shell?

每当我使用 xclip 时,命令输出都会出现在剪贴板中,但我还需要在终端上看到它:

我已经使用管道和 & |& 尝试过此命令:

pwd |& xclip -rmlastnl -selection clipboard

但不起作用(输出直接进入剪贴板,但我在终端上看不到它)。

预期的结果很简单,每当我这样做时:

pwd | xclip

我应该在 shell:

上得到两个输出

path/working/directory

我的剪贴板上也是同样的结果。

感谢@raminnietzsche 的提示,我找到了解决方案:

因为我使用的是 KDE,所以我需要将复制的字符串发送到默认剪贴板。所以我用这个命令实现了这个:

xclip -rmlastnl -selection clipboard

由于复制的字符串会进入主剪贴板,因此我们使用 xclip -o 时应使用相同的选项。所以实现我想要的代码应该是这个:

pwd | xclip -rmlastnl -selection clipboard | xclip -o -rmlastnl -selection clipboard

问题是使用管道命令似乎同时 运行,因此粘贴内容(xclip -o 等...)将是已存储的内容,而不是新内容。换句话说,它会复制命令输出,但会粘贴最后复制的内容。

为了解决这个问题,我使用 && 而不是第二个 | 以便仅在复制发生后粘贴。

为了时间和清晰起见,我还在我的 zsh(或 bash)配置上创建了一些别名:

alias copy="xclip -rmlastnl -selection clipboard"
alias past="xclip -o -rmlastnl -selection clipboard"

所以工作命令是

pwd | copy && past