구성 파일에서 변수를 읽을 것입니다. 예를 들어 파일이 다음과 같다고 가정합니다.
cfg1=hello
cfg2=there
내 스크립트는 그것을 읽을 것이므로 변수 이름 $cfg1
과 $cfg2
. 이제 명령 줄 인수가 정의 된 변수 중 하나와 일치하는지 확인하고 싶습니다. 즉, 실행하면 script.sh cfg1
내 if
문이 통과 되기를 원 하지만 실행 script.sh cfg3
하면 실패합니다.
\$$varname
구문 은 알고 있지만 솔직히 어떻게 작동하는지 알 수 없습니다. 난 노력 했어:
if [[ \$$1 ]]
그러나 그것은 항상 통과입니다.
4.2 이상 에서 -v
테스트를 사용하십시오 bash
.
if [[ -v $1 ]]; then
echo "Variable $1 is defined"
else
echo "Variable $1 is not defined"
fi
@choroba의 대답 은 사용중인 이전 버전에서 작동합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다