在Bash脚本中输入/输出剪贴板

是否可以在Bash中通过剪贴板进行传输?

无论是从设备手柄进行管道连接还是使用辅助应用,我都找不到任何东西。

例如,如果/dev/clip是一个链接到剪贴板的设备,我们可以这样做:

cat /dev/clip        # Dump the contents of the clipboard
cat foo > /dev/clip  # Dump the contents of "foo" into the clipboard

你有点模棱两可。 我希望你可能是X内部的一个Linux用户,他想把东西放在X PRIMARY剪贴板中。

理解bash没有剪贴板很重要。 没有“剪贴板”这样的东西,因为bash可以运行在Windows,Mac OS X,很多其他操作系统,X内部,X外部......更不用说X本身有三个不同的剪贴板。 有很多你可以处理的剪贴板。 通常,您要与之交谈的剪贴板上有一个实用程序,可以让您与其交谈。

在X的情况下,是的,有xclip (和其他)。 xclip -selection c将数据发送到在大多数应用程序中与Ctrl-C,Ctrl-V一起使用的剪贴板。

如果你正在试图与Mac OS X剪贴板交谈,那就是pbcopy

如果你在Linux终端模式下(没有X),那么你可能需要看看gpm

还有GNU screen有剪贴板。 把东西放在那里,看看screen命令“ readreg ”。

在Windows / cygwin下,使用/dev/clipboardclip更新版本的Windows(至少Windows 10)。


确保你使用别名xclip="xclip -selection c"否则你不能只用Ctrl + v将它粘贴回不同的地方。

echo test | xclip    

Ctrl + v === test


安装

# You can install xclip using `apt-get`
apt-get install xclip

# or `pacman`
pacman -S xclip

# or `dnf`
dnf install xclip

如果您无法访问apt-getpacman ,也无法使用dnf ,则可以在sourceforge上找到源代码。

建立

巴什

~/.bash_aliases ,添加:

alias setclip="xclip -selection c"
alias getclip="xclip -selection c -o"

不要忘记使用加载新配置. ~/.bash_aliases . ~/.bash_aliases或通过重新启动您的配置文件。

~/.config/fish/config.fish中添加:

abbr setclip "xclip -selection c"
abbr getclip "xclip -selection c -o"

不要忘记重新启动你的终端来重新启动你的终端,以便应用更改。

用法

您现在可以使用setclipgetclip ,例如:

$ echo foo | setclip
$ getclip
foo
链接地址: http://www.djcxy.com/p/46939.html

上一篇: Pipe to/from the clipboard in Bash script

下一篇: Javascript regex for matching/extracting file extension