Bash 변수 대체 변수 뒤에 밑줄이 옵니다.

Bash 변수 대체 변수 뒤에 밑줄이 옵니다.

이 변수는 BUILDNUMBER값 230으로 설정됩니다. 230_명령을 인쇄하고 싶지만 echo $BUILDNUMBER_아래와 같이 출력이 비어 있습니다.

# echo $BUILDNUMBER_

# echo $BUILDNUMBER
230

답변1

이 명령은 echo $BUILDNUMBER_설정되지 않은 변수 값을 인쇄합니다 $BUILDNUMBER_(밑줄은 Jeff Schaller가 명확하게 지적했듯이 변수 이름에 유효한 문자입니다).

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

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

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

답변2

조지 바실리우(George Vasiliu)가 그랬던 것처럼설명했다$BUILDNUMBER_, 대신에 변수를 인쇄하기 때문입니다 $BUILDNUMBER. 원하는 것을 얻는 가장 좋은 방법은 ${BUILDNUMBER}_George가 설명한 것처럼 사용하는 것입니다. 추가 옵션은 다음과 같습니다.

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

관련 정보