gpt4 book ai didi

linux - 如何为shell脚本中的字符串数组赋值?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:54:15 26 4
gpt4 key购买 nike

我花了很多时间来找出在下面的简单代码中出现错误的原因。如果有人能解决它,我将不胜感激。

i=0
while read line
do
if [[ -z "$line" ]]; then
echo "End of numbers"
break
else
{
echo "$line is not empty"
array[$i] = $line
echo array[$i]
((i += 1))

}
fi
done

输出:

sss
sss is not empty
command.sh: line 10: array[0]: command not found
array[0]
ss2
ss2 is not empty
command.sh: line 10: array[1]: command not found
array[1]

最佳答案

代替:

array[$i] = $line

您需要在 BASH 中删除 = 周围的空格:

array[$i]="$line"

或者更好地使用此语法在数组中附加一个元素:

array+=( "$line" )

关于linux - 如何为shell脚本中的字符串数组赋值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22994193/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com