如果我echo foo | xclip -i
在终端中执行然后Ctrl+ V,我就会得到foo
。
但如果我写一个文件,
酒吧
#!/bin/sh
echo bar | xclip -i
./bar.sh
并在终端中运行,剪贴板内容并没有像我预期的那样变成“条”。
为什么?我该如何做呢?
我设法通过将线路改为echo bar | xclip -i
来做到这一点echo bar | xclip -selection c
,但为什么这种方法有效而另一种方法无效?
答案1
当您使用命令时
echo bar | xclip -i
xclip
将文本存储在其primary
寄存器中,可以使用鼠标中键访问。从man xclip
-selection
指定使用哪个 X 选择,选项为“primary”表示使用 XA_PRIMARY(默认),“secondary”表示使用 XA_SECONDARY,或“clipboard”表示使用 XA_CLIPBOARD
当你使用
echo bar | xclip -selection c
bar
正在 xclip 的寄存器中被捕获clipboard
- 我猜c
是 的别名clipboard
。
奇怪的是echo bar | xclip -i
then Ctrl+v命令有效 - 对我来说却无效。我想知道foo
您的剪贴板中是否有上一个命令的内容?