2017-03-02 19 views
0
{ 
     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

あなたは既に変数sumに格納します。なんでしょう? – user31264

+0

シェルスクリプトでその値を取ってみたいエコー$ {sum}が使われていますが、何も表示されていません –

答えて

-3

awkの変数とbashの変数は、互いに異なり、互いに関係がありません。 awkは変数という概念を持ち、その変数とその値を内部的に保存するプログラムです。 bashはvariableという概念も持ち、その変数とその値を内部的に保存する別のプログラムです。ティーポットを買ってキッチンに保管すると、これで私の台所にティーポットがつくことはありません。

あなたは、stdoutにAWKの合計を印刷し、それをキャッチし、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}'` 
+0

キッチンシンクがすべて入っていて、 '\' ... \ '' legacy syntax '(http://mywiki.wooledge.org/BashFAQ/082)の代わりに(...) 'コマンド置換構文を使用して、安全で良い習慣を促進してください。 – mklement0

+3

あなた自身のコメントを削除するか、司会者があなたのためにそれをしたのかどうかは分かりませんが、その場合には削除されたコメントを書き留めておきます。 (a)私に癌を祈っていただきありがとうございます。ティーポットからの出発点は少しありますが、私は心を開いています。 (b)はい、あなたの答えは受け入れられましたが、それは私が提案したものの妥当性とは関係ありません。 (c)あなたは個人的には '\' ... \ ''構文を '' tcsh'と互換性があるように個人的に好みますが、それは質問タグ付きの 'bash'とは関係ありません。 – mklement0

+0

私の禁止を取り除くために私を投票してください –

関連する問題