pbcopy & pbpaste for WSL

偶爾會使用到Windows 系統, 由於之前都在 macOS 裡生活, 已經有在 Windows 裡安裝 WSL, 今天遇到的問題是 macOS command line 裡存取 clipboard 的功能, 在 Windows 的 WSL 裡執行會遇到錯誤.

在不修改程式的情況下, 讓 Windows environment 也可以執行同一支程式的解法:

Launch WSL terminal, 增加 ~/bin 目錄:

mkdir ~/bin

Modify your ~/.bashrc or ~/.zshrc depending on which shell you use (I use zshell) and add to the end of the file:

export PATH=$HOME/bin:$PATH

我是使用 zsh, 所以使用 nano ~/.zshrc 後, 在文件的最下面, 加入上面這一行.

執行指令:

nano ~/bin/pbcopy

加入下列內容:

#!/bin/bash
# pbcopy for wsl
tee <&0 | clip.exe
exit 0

讓檔案為”可執行”:

chmod u+x ~/bin/pbcopy

執行指令:

nano ~/bin/pbpaste

加入下列內容:

#!/bin/bash
# pbpaste for WSL
powershell.exe Get-Clipboard | sed 's/\r$//' | sed -z '$ s/\n$//'
exit 0

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *