{
for i in 1 2 3 4 5 6; do
netperf -H 10.0.1.2 -P 0 -l $1 &
done;
wait;
} | awk '{ sum = sum + $5 } END {print sum, "Mbps Upstream"}'
答案 0 :(得分:-3)
awk变量和bash变量是不同的,彼此无关。 awk是一个具有变量概念的程序,它在内部存储变量及其值。 bash是另一个程序,它也具有变量的概念,并在内部存储其变量及其值。如果你买了一个茶壶并把它放在你的厨房,这并不能让我在我的厨房里放一个茶壶。
你可以将awk的总和打印到stdout,抓住它并将其存储到bash的总和中:
sum=`{ for i in 1 2 3 4 5 6; do netperf -H 10.0.1.2 -P 0 -l $1 & done; wait; } | awk '{ sum = sum + $5 } END {print sum}'`