Bash:最後のコマンドに渡されたアクセス引数

Bash:最後のコマンドに渡されたアクセス引数

私はしばしば次のような状況に直面しています。

mkdir /Some/really/long/path/to/a/directory/
cd /Some/really/long/path/to/a/directory/

私は理想的にはcd /Some/...etc.../a/thenとthenを実行することを知っていますがmkdir directory、私はしばしば最初に実行し、次に作成したのと同じ長いファイルパスの終わりまでmkdir実行する必要があります。cd

することが不足しています...

var="/Some/...etc.../a/"
mkdir $var/directory; cd $var

...もっと悪いことは、渡されたパラメータを再利用する方法があることです。より早い注文する?私は確かにタップを完成させることを知っていますが、同じ名前の一連のネストされたディレクトリではそれが常に役に立つわけではありません。理想的には、$#または同じショートカットを持ちたいです$@

失敗すると、次善策で時間を節約するソリューションも高く評価されます!

ベストアンサー1

以前の答えでは、$_とを使用することをお勧めします!$。これが動作している間は拡張されず、Enterキーを押してコマンドを実行するまでその値を見ることができないので、非常に危険だと思います。rm $_何を削除するかわからないまま使用すると想像してみてください!

Bashを使用している場合(おそらくデフォルトのemacsモードでreadlinesを使用している場合)をタップして放し、次にタップすることをお勧めESCします.

このショートカットは、最後に実行されたコマンドの最後のパラメータを呼び出します。したがって、文章を書くと、cd <ESC> <.>長いパス/ファイルが提供されます。

ショートカットALT+ .(同時に押す)も同じように機能します。

デフォルトのemacsモードの代わりにbash viモードを使用している場合は、ALT+を使用してこの動作をシミュレートできます.(次の~\.inputrcようにファイルを変更する場合)。

set keymap vi-insert

$if mode=vi
    "\e.": yank-last-arg
$endif

おすすめ記事