之前有说过在WSL中重定向脚本输出到剪切板可以
./myscript.sh | clip.exe
不过直接重定向到clip.exe有个局限,就是系统默认的code page不是65001(UTF-8)时会出现编码问题。那么需要通过两步的处理,并且解除powershell来解决这个问题
首先是设置powershell的profile(可以通过notepad.exe $PROFILE
来编辑这个文件),写入内容
chcp 65001 | Out-Null
然后是通过powershell来执行clip.exe,可以创建一个脚本clip.sh
来完成这个事情
mkdir -p ~/.local/bin/
echo 'pwsh.exe -Command clip.exe' > ~/.local/bin/clip.sh
chmod +x ~/.local/bin/clip.sh
这样以后就可以通过重定向到clip.sh
来把WSL中的运行结果直接复制到Windows的剪贴板了
echo 😀 | clip.sh
参考:
https://medium.com/@socrateslee/unix-pipe-to-clipboard-with-wsl-and-in-utf-8-45f51f1ac81e