📋
WSL、Linux、MacOSで動くクリップボードにコピーするコマンド
コード
fish shellを使っているのでfishのfunctionを使っています。
bashやzshを使っている方は各自で修正してください。[1]
clip.fish
function clip
if [ -n "$IS_WSL" ] || [ -n "$WSL_DISTRO_NAME" ]
cat $argv[1] | clip.exe
else if [ "$(uname)" = "Linux" ]
cat $argv[1] | xsel -bi
else if [ "$(uname)" = "Darwin" ]
cat $argv[1] | pbcopy
end
end
このコードを~/.config/fish/functions
に置いてshellを再起動すると動作します。
使用例
clip a.txt
これでa.txtの中身がクリップボードにコピーされます。
もちろん標準入力からの入力も対応していて
clip
で標準入力から受け付けます[2]。
参考文献
- How to check if a program is run in Bash on Ubuntu on Windows and not just plain Ubuntu?
- WSL で xsel とか使わずに クリップボード にコピーする方法
- xselコマンドを使ってクリップボードにアクセス
- ターミナルで標準出力をクリップボードにコピーする
Discussion