2013-07-31 49 views
1

我有6个使用mininet创建的openvswitches。我想使用一个非常简单的bash脚本来转储流表。出于某种原因,这似乎并不奏效。bash for loop不能按预期工作

for i in `sudo ovs-vsctl list-br` ; do {`sudo ovs-ofctl dump-flows $i`} ; done 

使输出

{NXST_FLOW: command not found 
{NXST_FLOW: command not found 
{NXST_FLOW: command not found 
{NXST_FLOW: command not found 
{NXST_FLOW: command not found 
{NXST_FLOW: command not found 

但是,如果我这样做

for i in `sudo ovs-vsctl list-br` ; do echo $i ; done 

我得到下面的输出。

S1 S2 S3 S4 S5 S6

通过我能够做

sudo ovs-ofctl dump-flows s1 

,并获得正确的信息的方式。

我的bash脚本有什么问题?

回答

4

为什么使用反引号?只要做到

for i in `sudo ovs-vsctl list-br` ; do sudo ovs-ofctl dump-flows $i ; done 
0

尝试:

因为我在sudo ovs-vsctl list-br;做sudo ovs-ofctl dump-flows $ i;完成