我需要一种方法来从剪贴板获取/复制数据到 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 剪贴板