我有六个使用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脚本有什么问题。?
答案 0 :(得分:4)
为什么要使用反引号?只是做
for i in `sudo ovs-vsctl list-br` ; do sudo ovs-ofctl dump-flows $i ; done
答案 1 :(得分:0)
尝试:
for sudo ovs-vsctl list-br
;做sudo ovs-ofctl dump-flows $ i;完成
答案 2 :(得分:0)
您一次使用command substitution和command grouping。
你告诉bash运行命令(反引号),然后将输出视为另一个命令来运行。