$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
.