![Bash 中有从剪贴板复制到变量的函数吗?](https://linux22.com/image/127693/Bash%20%E4%B8%AD%E6%9C%89%E4%BB%8E%E5%89%AA%E8%B4%B4%E6%9D%BF%E5%A4%8D%E5%88%B6%E5%88%B0%E5%8F%98%E9%87%8F%E7%9A%84%E5%87%BD%E6%95%B0%E5%90%97%EF%BC%9F%20.png)
我需要一种方法来从剪贴板获取/复制数据到 Bash 中的变量。有这样的吗?
答案1
严格来说,不。 Bash 本身不知道你的剪贴板。
但是,有一些用于与剪贴板交互的命令行实用程序,但它们因操作系统而异。
在 Linux 上,该命令xsel
可用于与 X 剪贴板交互。如果您想写入剪贴板,some_command | xsel -ib
并且如果您想将内容转储到标准输出,请使用xsel -ob
.默认情况下通常不会安装此命令,但可能可以通过包管理器使用。
在 OS X 上,相应的命令是pbcopy
(用于写入)和pbpaste
(用于读取)。
a
要读入变量bash
,你可以这样做
a=`xsel -ob`
或者
a=`pbpaste`
作为适当的。
答案2
如果安装了 xclip 命令,您可以使用它来访问剪贴板。
xclip -o # Print the primary selection (highlighted text)
xclip -o -selection clipboard # Print the regular clipboard (ctrl-c from gui applications)
您可以使用反引号将变量的值设置为 bash 中命令的输出,例如
clip=`xclip -o -selection clipboard`
将 $clip 的值设置为 x11 剪贴板