如何在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
每当我使用 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