小编Joe*_*Joe的帖子

Bash Shell 脚本数组长度减一

我的 bash shell 脚本中数组的长度似乎偏离了 1。我有11一个文本文件中的元素,我正在读入一个数组,但我的数组长度似乎是12.

(( count = 0 ))
while read students[$count] ; do
    (( count++ ))
done < students.dat

echo $count

ArrayLength=$((${#students[@]}))

echo $ArrayLength
Run Code Online (Sandbox Code Playgroud)

此代码输出:

11
12
Run Code Online (Sandbox Code Playgroud)

这11是有道理的,因为计数增量发生在读取发生之后,并以0--indicating11元素读入开始。

但这12很神秘。

这是数据文件:

Ann
Bob
Cindy
Dean
Emily
Frank
Ginger
Hal
Ivy
Justin
Karen
Run Code Online (Sandbox Code Playgroud)

(名称出现在自己的行上,但我无法在这篇文章中以这种方式对其进行格式化)

我已经仔细检查了多个实用程序,文件末尾没有空行,也没有任何行的尾随空格。

bash array

4
推荐指数
1
解决办法
1056
查看次数

标签 统计

array ×1

bash ×1