[bash] 쉘의 가변 보간
라는 변수가 filepath=/tmp/name
있습니다.
변수에 액세스하려면 다음과 같이 할 수 있습니다. $filepath
내 쉘 스크립트에서 이와 같은 작업을 시도했습니다 (백틱이 의도되었습니다)
`tail -1 $filepath_newstap.sh`
이 줄은 실패합니다. 변수가 호출되지 않았기 때문입니다. $filepath_newstap.sh
_newstap.sh
변수 이름에 어떻게 추가 합니까?
백틱은 식 평가를위한 것입니다.
답변
사용하다
"$filepath"_newstap.sh
또는
${filepath}_newstap.sh
또는
$filepath\_newstap.sh
_
식별자에서 유효한 문자입니다. Dot은 그렇지 않으므로 쉘은 $filepath_newstap
.
set -u
정의되지 않은 변수를 참조 할 때 오류와 함께 셸을 종료하는 데 사용할 수 있습니다 .
답변
변수 이름을 중괄호로 묶습니다.
`tail -1 ${filepath}_newstap.sh`
답변
Bash에서 :
tail -1 ${filepath}_newstap.sh