📋
pbcopyでMacのターミナルの出力結果を表示しつつコピーできるようにする
の記事にあるように、
以下のコマンドを実行して、SHAをコマンドで簡単に取得できるようにしていました。
$ git sha
e96249b
ただ、普段使う際は、その値を毎回カーソルでコピーしていたので、
マウス操作が面倒くさいなと言う気分になり、
下記のように出力結果をクリップボードにコピーするようにしていました。
$ git sha | pbcopy
pbcopyは便利なのですが、出力結果を、ターミナル上で確認しながら、クリップボードにコピーできないかなと調べてみたところ、こちらの記事で、
# 標準出力に内容を出力しつつ、クリップボードにコピー
cat hello.json | tee >(pbcopy)
というのを見つけました。
ただ、使いたくなるたびに、 検索して |tee > (pbcopy)
を思い出す必要があったので、
pbcopyを使うと、勝手に、標準出力にもクリップボードに結果を出してくれないかなと気になって、調べてみました。
結論
bashrcやzshrcにシェル関数として下記のように書いてあげると、良さそうです。
関数名はcb(クリップボード)で分かりやすい+打ちやすいので、これにしましたが、好きな名前をつけて上げればよいと思います。
.zshrc
function cb() {
if [ $# -eq 0 ]; then
# 引数なしの場合は標準入力をteeで処理
tee >(command pbcopy)
else
# 引数がある場合は通常のpbcopyとして動作
command pbcopy "$@"
fi
}
aliasでも同じことが出来そうかもと思いつつ、とりあえず動いたのでこれを使おうと思います。
Discussion