0

我有一个用于将值放入数组的 shell 脚本。该脚本对我来说工作正常。问题是,如果我将数组放在 for 循环中(在 do 和 done 之间),并且当我尝试打印数组长度超出循环时,即完成后,值不会更新。这是相同的代码;

function _read_value
{
    count=0
    array[0]="hi" 
    for ///some condition
    do
        count++
        array[count]="hello"
    done
    echo ${#array[@]
}

当我尝试在最后打印数组的长度时,它显示长度为 1。任何帮助将不胜感激。

4

1 回答 1

0

我对您的脚本及其更新值进行了一些小改动,计数也很好。(我在计数增量和循环中进行了更改)

#!/bin/bash
function read_value
{
    count=0
    while [ $count -le 5 ]
    do
        array[count]="hello"
        count=`expr $count + 1`
    done
    echo ${array[@]}
    echo ${#array[@]}
}

read_value
于 2012-04-12T08:41:53.003 回答