見出し画像

SSH接続先のコマンド結果をローカルのクリップボードにコピーする


概要

タイトル通りですが、これはターミナルアプリでマウスを使って画面上の文字列を選択してコピーすればいいのですが、若干面倒ですし、画面に入りきらない場合はさらに面倒です。

このシェルスクリプト(ワンライナー)を使えば、簡単にクリップボードにコピーすることが可能です。

使用方法

$ コマンド | { echo -e "\e]52;;"; base64 | tr -d "\n"; echo -e "\e\\"; }

毎回入力するのは面倒なので関数定義しましょう。
.bashrc などに以下の定義を追加します。

toclip() { echo -e "\e]52;;"; base64 | tr -d "\n"; echo -e "\e\\"; }

すると以下のように使えます。

$ コマンド | toclip

注意点

この方法はターミナルアプリが OSC52 という制御シーケンスに対応している必要がありますが、主要なターミナルアプリは対応していると思います。

tmux でも使用可能

tmux 3.3 以降が対象で、~/.tmux.conf に以下の 設定を追加すれば使用可能です。

set-option -s set-clipboard on


いいなと思ったら応援しよう!

R-Y-O
そのお心がありがたいです。