在 OSX 中的终端中,我可以将输出通过管道传输到 pbcopy,然后进入 Web 浏览器并粘贴它。我在 Linux 中使用 xcopy 尝试过这个,但是当我切换到浏览器时,它只会用上次使用浏览器时的内容覆盖剪贴板。Linux 中的 pbcopy 有什么作用?
小智 184
如果您安装了 X,您可以通过这种方式尝试 xsel:
alias pbcopy='xsel --clipboard --input'
alias pbpaste='xsel --clipboard --output'
Run Code Online (Sandbox Code Playgroud)
或使用 xclip :
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
Run Code Online (Sandbox Code Playgroud)
现在你可以使用它们:
echo 'go to my clipboard' | pbcopy
Run Code Online (Sandbox Code Playgroud)
当我没有 XI 时,使用 GNU Screen 功能使用键盘在会话中打开的 shell 之间进行复制
复印 : Ctrl-a -> Esc -> go to wanted position * -> Space (to begin selecting) -> press k to go forward mark text -> Enter
粘贴 : Ctrl-a + ]
* 移动是用 vim 完成的,比如键绑定(j、k、l 和 m)。
Eri*_*rik 10
在您的 bin 文件夹中放置一个名为 pbcopy 的脚本:
#!/bin/bash
xclip -i -sel c -f |xclip -i -sel p
Run Code Online (Sandbox Code Playgroud)
这会将 STDIN 放在您的选择缓冲区和剪贴板中:
echo Hello world |pbcopy
Run Code Online (Sandbox Code Playgroud)
小智 7
这个答案指的是 Windows 的 Linux 子系统。
简短的回答:clip.exe就像将pbcopy某些内容放在 Windows 剪贴板上一样使用。这是魔法。例如echo "Hello Windows" | clip.exe,在 bash 或 Ubuntu bash 终端中,然后在 Windows 程序中使用“ctrl-v”。
更多背景:
在上面的评论中,我提到,当在 Windows 上使用 Xming 启用此功能时,有必要在解决方案工作之前设置 DISPLAY 变量(export DISPLAY=:0在许多情况下)。令人愤怒的是,这个解决方案以一种不可靠、随机的方式工作——从 Linux 粘贴到 Windows 时,按一到十次会导致剪贴板被粘贴(一次)(这是在我的 Windows 10 Surface Book 2 上)。不要浪费你的时间,使用.xselxclipctrl-vclip.exe
注意:不要忘记.exe. 否则 Ubuntu bash 会建议你安装 Linux 软件包geomview,这不是你想要的。
扩展@Erik 和@xpixelz 的解决方案;这两个脚本应该适用于两个平台:
副本:
#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
cat | /usr/bin/pbcopy
else
# copy to selection buffer AND clipboard
cat | xclip -i -sel c -f | xclip -i -sel p
fi
Run Code Online (Sandbox Code Playgroud)
pbpaste:
#!/bin/bash
__IS_MAC=${__IS_MAC:-$(test $(uname -s) == "Darwin" && echo 'true')}
if [ -n "${__IS_MAC}" ]; then
/usr/bin/pbpaste
else
xclip -selection clipboard -o
fi
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
71354 次 |
| 最近记录: |