在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/clipboard
或clip
更新版本的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-get
或pacman
,也无法使用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"
不要忘记重新启动你的终端来重新启动你的终端,以便应用更改。
用法
您现在可以使用setclip
和getclip
,例如:
$ 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