답변:
이 명령 echo $BUILDNUMBER_
은 $BUILDNUMBER_
설정되지 않은 변수의 값을 인쇄합니다 (밑줄은 Jeff Schaller가 명시 적으로 언급 한대로 변수 이름에 유효한 문자 임)
변수 이름 주위에 중괄호 (중괄호)를 적용하거나 가장 엄격한 printf
도구를 사용해야합니다 .
echo "${BUILDNUMBER}_"
printf '%s_\n' "$BUILDNUMBER"
추신 : 항상 변수를 인용하십시오.
George Vassiliou가 이미 설명했듯이 , $BUILDNUMBER_
대신 변수 를 인쇄하기 때문 입니다 $BUILDNUMBER
. 원하는 것을 얻는 가장 좋은 방법 ${BUILDNUMBER}_
은 George가 설명한대로 사용 하는 것입니다. 몇 가지 옵션이 더 있습니다 :
$ echo "$BUILDNUMBER"_
230_
$ echo $BUILDNUMBER"_"
230_
$ printf '%s_\n' "$BUILDNUMBER"
230_
$IFS
가지고 있는지 알고 있지만 , 무엇을 가지고 있는지 모릅니다 echo $BUILDNUMBER"_"
. 그래서 여전히 잘못되었습니다. 세 가지 중에서 printf '%s_\n' "$BUILDNUMBER"
우리가 무엇을 알지 못 $BUILDNUMBER
하거나 알지 못하는 경우 에만 정확합니다 $IFS
.