小编Lui*_*s E的帖子

使用 IFS 循环读取文件仅在不使用数组时才有效

使用以下代码,我试图将文件读入数组:

GROUPS=()

while IFS=: read -r g1 g2 g3 g4
do
    GROUPS+=("$g3")
    echo "$g3"
done < /etc/group
Run Code Online (Sandbox Code Playgroud)

这不起作用,它甚至不输出任何内容,但是,如果我只留下回声,它会打印文件的内容。只要循环中某处存在添加到数组的指令,就不会打印任何内容。这似乎很奇怪,因为我可以毫无问题地对其他文件执行此操作。

知道是什么原因造成的吗?我用 bash -x 进行了检查,当存在有问题的指令时,它甚至没有进入循环。

另外,如果相关,我以 root 身份运行它。

bash array

2
推荐指数
1
解决办法
381
查看次数

标签 统计

array ×1

bash ×1