前のコマンドの2番目の引数を新しいコマンドで使用するにはどうすればよいですか?
例、
$ mkdir test
ディレクトリを作成しますが、ディレクトリの名前を使用してこれを変更するにはどうすればよいですか?
$ mkdir test && cd use_var
前のコマンドの2番目の引数を新しいコマンドで使用するにはどうすればよいですか?
例、
$ mkdir test
ディレクトリを作成しますが、ディレクトリの名前を使用してこれを変更するにはどうすればよいですか?
$ mkdir test && cd use_var
$_
前のコマンドの最後(右端)の引数です。
mkdir gash && cd "$_"
(私は、と呼ばれるファイルやディレクトリを作成しません。これはtest
、組み込みのシェルの名前であり、混乱を引き起こす可能性があります)
履歴拡張を使用すると、現在のコマンドラインで任意の単語を参照できます
mkdir dir1 && cd "!#:1"
# 0 1 2 3 4
!#
これまでに入力した行を:1
指し、単語番号1(mkdir
0から始まる)を指します。
これをスクリプト(つまり、非対話型シェル)で使用する場合は、とを使用して履歴拡張をオンにする必要がありset -H
ますset -o history
。
Esc+を押すと.、前のコマンドの最後の引数が現在のカーソル位置に配置されます。bash
シェルとシェルでテスト済みksh
。
このために関数を使用します。シェルにこれを入力します。
mkcd() { mkdir "$1" ; cd "$1" ; }
これで、新しいコマンドができましたmkcd
。
これを繰り返し必要とする場合は、その行をファイルに入れて~/.bash_aliases
ください(使用する場合bash
、他のシェルは異なる名前を使用します)。