1

我有六个使用 mininet 创建的 openvswitch。我想使用一个非常简单的 bash 脚本转储流表。由于某种原因,这似乎不起作用。

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

3 回答 3

4

为什么要使用反引号?做就是了

for i in `sudo ovs-vsctl list-br` ; do sudo ovs-ofctl dump-flows $i ; done
于 2013-07-31T02:48:41.433 回答
0

尝试:

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

于 2013-07-31T02:49:05.713 回答
0

您同时使用命令替换命令分组

您告诉 bash 运行命令(反引号),然后将输出视为要运行的另一个命令。

于 2013-07-31T02:57:25.667 回答