IFS가 작동하지 않음

IFS가 작동하지 않음

$PARTS가 비어 있는 이유

DIR=/Users/ishandutta2007/Projects/yo
IFS='/' read -ra PARTS <<< "$DIR"
echo $PARTS

편집: 대안을 제안해 주셔서 감사합니다. 하지만 IFS 문제를 해결하고 싶습니다.

답변1

배열은 비어 있지 않으며 $PARTS비어 있는 배열의 첫 번째 요소로 확장되며 다음과 같습니다 ${PARTS[0]}.

$ declare -p PARTS
declare -a PARTS=([0]="" [1]="Users" [2]="ishandutta2007" [3]="Projects" [4]="yo")

모든 배열 요소를 별도의 단어로 인쇄하려면 다음을 사용하십시오 "${PARTS[@]}".

$ printf '%s\n' "${PARTS[@]}"

Users
ishandutta2007
Projects
yo

마지막 요소를 얻으려면 음수 인덱싱을 사용할 수 있습니다.

$ echo "${PARTS[-1]}"
yo

그러나 다음을 사용하여 마지막 요소를 얻는 것이 더 쉽습니다.매개변수 확장:

$ echo "${DIR##*/}"
yo

*/이렇게 하면 가장 긴 접두사 패턴이 제거됩니다 DIR.

관련 정보