tcsh에서 달러 밑줄은 무엇을 의미합니까? $_

tcsh에서 달러 밑줄은 무엇을 의미합니까? $_

디버깅 중인 스크립트에서 파일 시작 부분에 $_를 사용하는 것을 볼 수 있습니다. 파일을 호출하는 완전한 명령을 흡수하는 것 같습니다. 그러나 이 스크립트를 다른 스크립트 안에 래핑하려고 하면 $_가 아무것도 흡수하지 않는 것 같아서 나머지 스크립트가 충돌하게 됩니다.

나중에 스크립트에서 $_를 사용해 보았는데 이전에 실행한 명령을 가져와서 다시 실행하거나 마지막 명령의 출력을 저장하는 것 같았습니다.

그렇다면 마지막으로 저장된 명령의 결과를 저장하는 경우 다른 스크립트가 처음에 $_를 사용하려고 이 스크립트를 호출할 때 왜 비어 있습니까?

아마도 실제 질문은 이러한 다른 동작을 유발하는 스크립트와 명령줄 간의 환경 차이가 무엇인지, 디버깅 중인 첨자가 쓰기 가능하지 않기 때문에 WA 또는 솔루션이 무엇인지일 것입니다.

아래 코드도 이상한 점을 보여줍니다. echo $_가 스크립트의 첫 번째 줄에 있으면 이전에 실행한 cmd를 해당 cmd 줄에서 가져오지만 echo $_를 다시 사용하면 항상 cmd 스크립트에 대한 호출을 출력합니다.

시험:

echo $_
echo $_
echo $_

명령줄:

>echo "foo"
foo
>echo "bar"
bar
>source ./test
echo "bar"
source ./test
source ./test

답변1

남자 tcsh:

   $_      Substitutes the command line of the last command executed.  (+)

관련 정보