2

前のコマンドの2番目の引数を新しいコマンドで使用するにはどうすればよいですか?

例、

$ mkdir test 

ディレクトリを作成しますが、ディレクトリの名前を使用してこれを変更するにはどうすればよいですか?

$ mkdir test && cd use_var
4

4 に答える 4

6

$_前のコマンドの最後(右端)の引数です。

mkdir gash && cd "$_"

(私は、と呼ばれるファイルやディレクトリを作成しません。これはtest、組み込みのシェルの名前であり、混乱を引き起こす可能性があります)

于 2012-09-12T13:23:41.040 に答える
5

履歴拡張を使用すると、現在のコマンドラインで任意の単語を参照できます

mkdir dir1 && cd "!#:1"
# 0     1   2  3  4

!#これまでに入力した行を:1指し、単語番号1(mkdir0から始まる)を指します。

これをスクリプト(つまり、非対話型シェル)で使用する場合は、とを使用して履歴拡張をオンにする必要がありset -Hますset -o history

于 2012-09-12T13:28:41.677 に答える
2

Esc+を押すと.、前のコマンドの最後の引数が現在のカーソル位置に配置されます。bashシェルとシェルでテスト済みksh

于 2012-09-12T13:27:19.173 に答える
1

このために関数を使用します。シェルにこれを入力します。

mkcd() { mkdir "$1" ; cd "$1" ; }

これで、新しいコマンドができましたmkcd

これを繰り返し必要とする場合は、その行をファイルに入れて~/.bash_aliasesください(使用する場合bash、他のシェルは異なる名前を使用します)。

于 2012-09-12T13:42:42.010 に答える