Appen变量for for循环

时间:2016-12-14 01:12:30

标签: bash

我需要将vkprns存储到sdout for循环中。我尝试了+=,但我遇到了错误./script05.sh: line 22: +=: command not found

sdout=
sderr=
for a in "$1"/*
do
    vk=$(egrep ".*" $a -s|wc -c )
    pr=$(egrep "^[a-z ]+$" $a -s| wc -l)
    ns=$(echo $a | sed "s/.*\/\(.*\)/\1/")
    $sdout += "$vk $ns"'\t'"$pr"'\n'
    echo $vk
    if [ $pr -eq 0 ]
    then
        $sderr += "$ns"'\t'"nie"'\n'

    else
        $sderr += "$ns"'\t'"ano"'\n'
    fi
done

1 个答案:

答案 0 :(得分:3)

« $ sdout + = “value”»的正确语法应为:

sdout+="value"

或完全更正:

sdout+="$vk $ns"'\t'"$pr"'\n'

+=运营商周围没有空格 假设您想要的是更改变量sdout

同样适用于$sderr += "$ns"'\t'"nie"'\n'的其他两行 他们应该是:

sderr+="$ns"'\t'"nie"'\n'
sderr+="$ns"'\t'"ano"'\n'