변수 대체를 통해 위치 매개변수를 인쇄하고 싶습니다.

변수 대체를 통해 위치 매개변수를 인쇄하고 싶습니다.

$var위치 매개변수가 있고 위치 매개변수를 대체하고 인쇄하려고 합니다.

/home/yeshky>echo $1 
/home/yeshky>abc
/home/yeshky>var=1
/home/yeshky>echo "You have opted for $`$var`"

예상되는 결과:/home/yeshky>You have opted for abc

====다음을 교체하려고 시도했지만 성공하지 못했습니다.

echo "You have opted for $$((var))"
echo "You have opted for $($((var)))"

답변1

당신이 원하는 것은 간접적입니다. 당신 이 bash할 수 있는 다른 쉘들

printf '%s\n' "${!var}"

변수에 이름이 저장된 변수의 값을 인쇄합니다.var

이를 수행하려면 중괄호를 사용하여 변수에 액세스해야 하며 중괄호 안의 첫 번째 문자는 이어야 합니다 !. 그러면 남은 것은 검색할 변수 이름이 포함된 변수 이름입니다.

자세한 내용은 다음을 참조하세요.여기물론 특히 간접조명에 관한 부분은요

관련 정보