zsh에서 IFS를 설정할 수 없는 이유는 무엇입니까?

zsh에서 IFS를 설정할 수 없는 이유는 무엇입니까?

나는 zsh에 있습니다. 여기서 무슨 일이 일어나고 있는 걸까요...?

답변1

문제는 설정할 수 없다는 것이 아니라 IFSzsh에서는 (bash와 달리) 인용되지 않은 변수 확장이 "split + glob"(단어 분할 및 파일 이름 생성)의 영향을 받지 않는다는 것입니다. 따라서 전체가 $a첫 번째 요소에 할당됩니다 b(즉 $b[1], zsh의 배열은 bash와 달리 1부터 색인이 지정되기 때문입니다).

shwordsplitBash와 유사한 동작을 얻으려면 zsh의 쉘 옵션을 설정하거나 명시적인 변수 확장 단어 분할 대신 일반을 사용할 수 있습니다 .$=a$a

좀 더 미묘한 설명을 보려면 다음을 참조하세요.분사란 무엇입니까? 쉘 프로그래밍에서 이것이 왜 중요한가요?

관련 정보