fcコマンドとpbcopyコマンド
最近、 fc
コマンドを知った。
Windowsの比較コマンドではなくて、Linuxの、コマンド履歴を出力する方。
つまりは history
と同じ。
history
も fc
も、ShellのBuild-inコマンド。
$ type fc fc is a shell builtin
ちなみにうちの環境は、oh-my-zsh入れてるので、history
はfc
のaliasになってる。
$ type history # oh-my-zsh/lib/history.zsh によるもの history is an alias for fc -l 1
fc
だけ打つと、直前のコマンドが実行される。
実行される前に、 Editorが立ち上がり、 /tmp/
以下にファイルが作られて開かれる。
開かれたファイルには、直前のコマンドが入力されている。
このコマンドを編集して保存して終了すれば、直前のコマンドに手を加えて実行することができる。
ちょっと気持ちよくワンライナー書いた後に、修正したくなった時に使うと便利かもしれない。
history
コマンドと同等の出力もできる。
fc -l [数値]
で出力する履歴の数を制御できる。1 だと全て。-1 だと直近1つ。
$ history | tail -n 2 1493 type fc 1494 history $ fc -l -2 1494 history 1495 history | tail -n 2
数値を並べると、逆順にもできる。tac
しなくていい。
$ fc -l 3 1 3 echo $ZSH 2 pwd 1 ls
-n
つければ、番号が消える。
$ fc -ln 3 1 echo $ZSH pwd ls
もともと、fc
を知ったのは、入力したワンライナーをクリップボードにコピペしたかったから。
pbcopy
と組み合わせて、
$ fc -ln -1 | pbcopy
とすれば良い。