![eval을 사용하지 않고 $@/argv/argument 배열의 마지막 요소 가져오기 [중복]](https://linux55.com/image/141206/eval%EC%9D%84%20%EC%82%AC%EC%9A%A9%ED%95%98%EC%A7%80%20%EC%95%8A%EA%B3%A0%20%24%40%2Fargv%2Fargument%20%EB%B0%B0%EC%97%B4%EC%9D%98%20%EB%A7%88%EC%A7%80%EB%A7%89%20%EC%9A%94%EC%86%8C%20%EA%B0%80%EC%A0%B8%EC%98%A4%EA%B8%B0%20%5B%EC%A4%91%EB%B3%B5%5D.png)
만약 내가한다면:
set a b c
$@
마지막 요소 인 에 어떻게 액세스합니까 c
?
$@
처음에는 배열에 첨자를 추가하고 싶었습니다 .
"${@[$#-1]}"
하지만:
bash: ${@[$#-1]}: bad substitution
나는 마침내 알아냈다:
eval echo "\$$#"
$@
Without 의 마지막 요소를 얻는 방법이 있나요 eval
?
먼저 다른 어레이에 복사하고 액세스하는 유일한 방법입니까 ${copy[-1]}
?
답변1
이르카초가 제안한다매우 읽기 쉽습니다:
echo "${@:$#}"