사용 시 /bin/bash
다음 두 상황의 차이점은 무엇입니까?
- 에코 $IFS
- 에코 "$IFS"
나는 다른 출력을 관찰했습니다.
답변1
"$IFS"
매개변수가 됩니다. the의 기능은 ""
공백을 공백이 있는 단어로 제한하는 것입니다.
예를 들어, IFS에 a__b
( s 대신 공백이 있다고 상상해 보십시오 _
)
echo "$IFS"
substuition: 변수 뒤에 있으므로 명령 echo "a b"
은 echo
단일 인수를 얻습니다. 따라서 다음과 같이 인쇄됩니다 a b
.
While 은 echo $IFS
으로 대체됩니다 echo a b
. 즉 echo
, an a
및 a 라는 두 개의 매개변수가 있음을 의미합니다 b
. 따라서 다음과 같이 인쇄됩니다 a b
.
다른 차이점도 있습니다. 예를 들어 IFS에 Enter가 포함된 경우 첫 번째 버전에서는 숨겨지지만 두 번째 버전에서는 숨겨지지 않습니다.