はじめに
よく忘れてしまうのですが、直前に実行したコマンドの最後の引数を取得する方法があります。
例えば、
mkdir hoge
したあとに、hoge
に cd
したい時に便利です。
最近、tiwtter でいくつか方法があることを知りました。
忘れる自信があるので書き留めておきます
その1: $_
忘れていたのか初めて知ったのかもうわかんないけど、
— z a k i (@zaki_hmkc) 2020年5月27日
$ mkdir /path/to/dir
とか
$ ls /foo/bar/baz
とかしたあと、
$ cd $_
ってやると直前の引数のパスに移動できるのね。。。($_に最後の引数が入ってる)
で、$_ が何者かってどうやって調べれば…
[vagrant@stumble stumble]$ mkdir hoge [vagrant@stumble stumble]$ cd $_ [vagrant@stumble hoge]$ pwd /vagrant/stumble/hoge
その2: !$
[vagrant@stumble stumble]$ mkdir hoge2 [vagrant@stumble stumble]$ cd !$ cd hoge2 [vagrant@stumble hoge2]$ pwd /vagrant/stumble/hoge2
その3: ESC
.
ESC, . (ドット) の順で打鍵すれば直前のコマンドラインの最後の引数がそのまま入ります。(シェルや設定依存あるだろうけど) https://t.co/lX2Kjcs5nY
— ふみやす@シェルまおう(自称でない) FGO:838,149,789 (@satoh_fumiyasu) 2020年5月27日
[vagrant@stumble stumble]$ mkdir hoge [vagrant@stumble stumble]$ cd hoge [vagrant@stumble hoge3]$ pwd /vagrant/stumble/hoge
この方法だけ、ログだとわかりにくいので動画で補足します。
ESC . で直前コマンドの最後の引数を取得する pic.twitter.com/DamOFZhODp
— よこち(yokochi) (@akira6592) 2020年6月5日
挙動としてはこちらが一番好みです。