はじめに
macOSのpbcopy
, pbpaste
と同じようなことをWSLでも行いたかったので、調べてみました。
結論
クリップボードにコピー(pbcopy)
clip.exe
を使います。
$ echo 'hogehoge' | clip.exe
# クリップボードに `hogehoge\n`が格納されている
クリップボードからペースト(pbpaste)
powershell.exe -command 'Get-Clipboard'
を使います。
$ powershell.exe -command 'Get-Clipboard'
hogehoge
# 末尾で改行される
pbcopy
, pbpaste
と同じような形で使用した場合は、aliasに指定します。
alias pbcopy="clip.exe"
alias pbpaste="powershell.exe -command 'Get-Clipboard'"
補足
改行コードを取り除く
どうやら、clip.exe
を使用すると、末尾に\n
が入るようです。
クリップボードにコピーする際に改行コードを取り除くのは難しそうなので、
ペーストする際に取り除くようにします。
$ powershell.exe -command 'Get-Clipboard' | perl -pe 'chomp if eof'
hogehoge
# 末尾の改行が取り除かれる