변수의 Bash 변수 대체와 밑줄

변수의 Bash 변수 대체와 밑줄

변수는 값 230으로 설정됩니다. 명령에 대해 인쇄될 것으로 BUILDNUMBER예상 하지만 아래와 같이 출력이 비어 있습니다.230_echo $BUILDNUMBER_

# echo $BUILDNUMBER_

# echo $BUILDNUMBER
230

답변1

이 명령은 설정되지 않은 echo $BUILDNUMBER_변수의 값을 인쇄합니다 (밑줄은 Jeff Schaller가 명시적으로 언급한 변수 이름에 유효한 문자입니다).$BUILDNUMBER_

변수 이름 주위에 중괄호(중괄호)를 적용하거나 가장 엄격한 도구를 사용하면 됩니다 printf.

echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"

추신: 항상 변수를 인용하십시오.

답변2

이미 조지 바실리우처럼설명했다$BUILDNUMBER_, 대신 변수를 인쇄하기 때문입니다 $BUILDNUMBER. 원하는 것을 얻는 가장 좋은 방법은 ${BUILDNUMBER}_George가 설명한 대로 사용하는 것입니다. 다음은 몇 가지 추가 옵션입니다.

$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_

관련 정보