URI를 따르기 위해 변수와 텍스트를 포함하는 문자열을 전달해야하는 스크립트가 있습니다.Bash에서 변수의 변수를 확장하십시오.
이의 예는 다음과 같습니다
URI="${PROTO}://${USER}:${PASS}@${HOST}/${TARGET}"
내가 변수 $URI
를 정의하지만 배쉬 스크립트가가는 경우가있을 것입니다 때 ${PROTO}
가 ${USER}
이 ${PASS}
, ${HOST}
및 ${TARGET}
가 정의되지 않은 변수를 실행되도록 URI의 마지막 형태로 문자열을 확장해야합니다.
어떻게하면됩니까? 나는 eval: When You Need Another Chance을 읽었지 만, URI 문자열의 많은 부분을 벗어나는 것은 위험 할 수 있으므로 eval을 사용하는 아이디어를 좋아하지 않습니다.
다른 방법이 있습니까? 이 문제에 대해 권장되는 솔루션은 무엇입니까?
감사 M
나는 당신의 대답에서 적절한 해결책을 찾을 수 있습니다.하지만 제가 생각한 것과 다른 해결책을 생각해 낼 수 있는지 좀 더 자세히 설명하고 싶습니다. URI에 변수 또는 값이 이미 올 수 있습니다. 그래서 당신이 솔직하게 제안하는 해결책을 할 수있는 것처럼 아닙니다. 나는 regexxp와 일치 할 수 있고 어떤 변수가 있는지 그리고 결과에 따라 말한 것을 할 수 있다고 생각한다. – mpeterson