如何将命令行中的结果直接复制到剪贴板?
在Windows的cmd.exe上,我可以只做echo "asd" | clip
并将输出管道输出到剪贴板。
我尝试为此安装xclip
,虽然它已编译,但在调用时会打印:
Error: Can't open display: (null)
使用鼠标不是解决方案。
答案 0 :(得分:37)
在14393之后,如果你想在WSL中复制一些东西到剪贴板,只需添加' .exe'你在Windows cmd中做了什么。
echo "aaa"|clip.exe
答案 1 :(得分:0)
似乎仍然不支持:(https://www.reddit.com/r/Windows10/comments/4gwnom/can_bash_on_windows_interact_with_the_system/)
一个聪明的解决方法是开源工具plak (https://github.com/sander/plak)
答案 2 :(得分:0)
为了复制非ASCII字符(其他语言),我必须这样做:
回声'αβψδεφγ'| iconv -f utf-8 -t utf-16le | clip.exe
utf-16le不包含先前的BOM,因此您可以将其粘贴回
答案 3 :(得分:0)
如果您想使用更“容易”的东西,可以将@reker中的命令添加到〜/ .bashrc文件中(如果使用zsh,则必须将其放入〜/ .zshrc文件中。 )。
我在文件中添加了这两行:
alias paste="powershell.exe -command \"Get-Clipboard\""
function clip { "$1" | clip.exe;}
我使用clip作为函数,所以我可以像linux一样使用命令('command''use this for command')。如果您希望使用别名方式,则可以添加
alias clip=clip.exe
与您不必始终编写.exe一样。
别忘了运行命令
source ~/.zshrc
保存文件后。否则,更改仅在重新启动控制台后应用。