
端末の特殊パラメータと前のコマンドを呼び出す最後のパラメータを$_
使用する際に問題があります。$_
gnome-terminalのコマンドでは機能しませんcp
。フォルダを作成したり、次のように$_ファイルを使用するmv
と、これが発生します。mv
cp
mkdir test
cp file.c $_
ファイルをターゲットにコピーする代わりに、現在のディレクトリに_filedir
。
mv
コマンドでも同様です。
mkdir test
mv file.c $_
ファイルをターゲットに移動するのではなく、名前を移動します_filedir
。
問題を見つけるには、echoを使用してください。
$ mkdir test
$ echo $_
_filedir
$_をcpおよびmvコマンドで使用できないのはなぜですか?
答え1
$_ - 前のコマンドの最後の引数を提供します。シェルが起動すると、実行中のシェルスクリプトの絶対ファイル名が提供されます。実行するとき
mkdir test
mv file.c $_
mvとcpがエイリアスであることを確認してください。
Bashで履歴の前のコマンドの最後の引数にアクセスするには、!:$ を使用します。たとえば、次のようになります。
> mkdir test
> mv file.c !:$
mv file.c test