$_는 복사 및 이동 명령에 적용되지 않습니다.

$_는 복사 및 이동 명령에 적용되지 않습니다.

터미널의 특수 매개변수와 이전 명령을 호출하는 마지막 매개변수를 $_사용 하는 데 문제가 있습니다 .$_

gnome-terminal 의 명령에서는 작동하지 않습니다 cp. 폴더를 만들거나 아래와 같이 $_ 파일을 사용할 mv때 이런 일이 발생합니다.mvcp

 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

관련 정보