使用以下代码,我试图将文件读入数组:
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 身份运行它。