변수 BUILDNUMBER
는 값 230으로 설정됩니다 230_
. 명령에 대해 인쇄 될 것으로 예상 echo $BUILDNUMBER_
되지만 출력은 아래와 같이 비어 있습니다.
# echo $BUILDNUMBER_
# echo $BUILDNUMBER
230
답변
이 명령 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_