首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IFS不工作

IFS不工作
EN

Unix & Linux用户
提问于 2020-06-26 03:31:06
回答 1查看 1.4K关注 0票数 0

为什么$PARTS是空白的

代码语言:javascript
复制
DIR=/Users/ishandutta2007/Projects/yo
IFS='/' read -ra PARTS <<< "$DIR"
echo $PARTS

编辑:谢谢你的建议,但我想用IFS来解决这个问题。

EN

回答 1

Unix & Linux用户

发布于 2020-06-26 04:19:07

数组不是空的,$PARTS扩展到数组的第一个元素,该元素碰巧是空的,并且与${PARTS[0]}相同:

代码语言:javascript
复制
$ declare -p PARTS
declare -a PARTS=([0]="" [1]="Users" [2]="ishandutta2007" [3]="Projects" [4]="yo")

若要将所有数组元素打印为单独的单词,请使用"${PARTS[@]}"

代码语言:javascript
复制
$ printf '%s\n' "${PARTS[@]}"

Users
ishandutta2007
Projects
yo

要获得最后一个元素,可以使用负索引:

代码语言:javascript
复制
$ echo "${PARTS[-1]}"
yo

但是使用参数展开更容易获得最后一个元素:

代码语言:javascript
复制
$ echo "${DIR##*/}"
yo

这将从*/中删除最长的前缀模式DIR

票数 4
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/595143

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档