마지막 명령 행 인수를 얻기 위해 $ {! #}은 bash에서 어떻게 작동합니까? 안내서에서 마지막 명령 줄 인수를

고급 Bash 스크립팅 안내서에서 마지막 명령 줄 인수를 가져옵니다.

또는 : lastarg=${!#}
이것은이다
간접 참조 받는 $#변수입니다.
참고 lastarg=${!$#}작동하지 않습니다.



답변

그것은 간접 참조입니다. 다음 예제를 보자.

$ var=test
$ test='Hello, world'
$ echo ${!var}
Hello, world

이제 다음 위치 매개 변수를 설정해야합니다.

$ set -- one two three

그리고 $#위치 매개 변수의 총 수를 나타냅니다.

$ echo $#
3

이것은 ${!#}내가 말하는 것처럼 호출 할 때 명명 된 매개 변수의 값을 알려줍니다 3.

$ echo ${!#}
three