我需要计算多个网页中包含的整数之和。函数
到目前为止,我尝试了以下方法。
任何建议都将不胜感激。
getPages()
解析整数并将其赋值给$subTotal
。在后台中,使用for循环调用getPages()
,但如何得到$subTotal
的总和呢?这是一个子shell问题吗?到目前为止,我尝试了以下方法。
#!/bin/bash
total=0
getPages(){
subTotal=$(lynx -dump http://"$(printf "%s:%s" $1 $2)"/file.html | awk -F, 'NR==1 {print $1}' | sed 's/\s//g')
total=$(($total+$subTotal))
echo "SubTotal: " $subTotal "Total: " $total
}
# /output/ SubTotal: 22 Total: 22
# /output/ SubTotal: 48 Total: 48 //Note Total should be 70
ARRAY=(
'pf2.server.com:6599'
'pf5.server.com:1199'
...
)
for server in ${ARRAY[@]} ; do
KEY=${server%%:*}
VALUE=${server##*:}
getPages $KEY $VALUE &
done
wait
echo $total
exit 0
# /output/ 0
任何建议都将不胜感激。
return $subTotal
,并在父shell中执行求和。 - Marc Bwait
无法返回多个子进程的结果。 - Paŭlo Ebermann