차이점이 뭐야:
./script.sh "$VARIABLE"
그리고
./script.sh ${VARIABLE}
당신은 있나요?
답변1
$VARIABLE
서로 다른 단어라면 ${VARIABLE}
실제로는 같습니다. 하지만 특히 스크립트에서 다음 예를 참고하세요.
VARIABLE=USER
echo $VARIABLE
당신은 출력을 얻습니다
USER
하지만 입력할 때
echo $VARIABLE1
얻을 것으로 예상
USER1
VARIABLE1
변수가 정의되지 않았기 때문에 아무것도 얻지 못합니다.
하지만 만약 당신이 사용한다면
echo ${VARIABLE}1
예상되는 결과를 얻습니다 USER1
.
답변2
Sean J. Goff의 글:$VAR 대 ${VAR} 및 인용 여부
VAR=$VAR1은 VAR=${VAR1}의 단순화된 버전입니다. 두 번째는 할 수 있지만 첫 번째는 할 수 없는 일이 있습니다. 예를 들어 배열 인덱스 참조(이식 가능 아님) 또는 하위 문자열 제거(POSIX - 이식 가능) 등이 있습니다. Bash 초보자 가이드의 "변수에 대한 추가 정보" 섹션과 POSIX 사양의 매개변수 확장을 참조하세요.
rm -- "$VAR1" 또는 rm -- "${VAR}"과 같이 변수 주위에 따옴표를 사용하는 것이 좋습니다. 이는 변수의 내용을 원자 단위로 만듭니다. 변수 값에 공백(기본적으로 공백인 $IFS 특수 변수의 문자) 또는 와일드카드 문자가 포함되어 있고 이를 인용하지 않으면 각 단어는 파일 이름 생성(와일드카드)으로 간주되고 해당 확장은 생성됩니다. 당신이 무엇을 하든.