2013-07-31 88 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;完成