我需要将vk
,pr
,ns
存储到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
答案 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'