[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


답변