为什么总是在我的代码中说出语法错误?

时间:2016-01-25 18:15:05

标签: shell

在这个shell代码中,我不知道为什么总是说我有语法错误,我使用这个函数来计算行号的中等和平均值。

rows()
{ echo -e "Average:\tMedian:";
while read line
do
    array=($line)
    lineavg=0;
    linemed=0;
    medpos=0;



    for((i=0;i<${#array[@]};i++))
    do
        let "lineavg+=${array[$i]}"
    done

    cols=${#array[@]}

    let "lineavg=$lineavg+($cols/2)"

    let "$lineavg/=$cols"
    let "medpos=($cols/2)"  
    sorted=($(printf '%s\n' "${array[@]}"| sort -g))

    if [ $((cols%2)) -eq 0 ]; then
        let "medpos--"
        if [[ "array[$medpos]"<"array[medpos+1]" ]]; then
            let "medpos++"
        fi
    fi
    let "linemed=${sorted[$medpos]}"

    echo -e $lineavg '\t\t' $linemed
done<$inputfile
}

1 个答案:

答案 0 :(得分:0)

尝试更改:

let "$lineavg/=$cols"

要:

let "lineavg/=$cols"