${!#} Bash에서 마지막 명령줄 인수를 얻는 방법은 무엇입니까?

${!#} Bash에서 마지막 명령줄 인수를 얻는 방법은 무엇입니까?

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

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

답변1

말했듯이 이것은 간접적인 참조입니다. 예를 들어:

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

이제 다음 위치 매개변수를 설정하려면 다음을 수행하십시오.

$ set -- one two three

$#위치 인수의 총 수를 나타냅니다 .

$ echo $#
3

이는 내가 말했듯이 이를 호출할 때 ${!#}다음과 같은 매개변수의 값이 제공된다는 것을 의미합니다 3.

$ echo ${!#}
three

관련 정보