-1

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

我已经使用管道和 & 尝试过这个命令|&

pwd |& xclip -rmlastnl -selection clipboard

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

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

pwd | xclip

我应该在 shell 上得到两个输出:

路径/工作/目录

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

4

1 回答 1

1

感谢@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
于 2019-08-09T07:44:04.090 回答