Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash for循环未按预期工作_Bash - Fatal编程技术网

bash for循环未按预期工作

bash for循环未按预期工作,bash,Bash,我有六个使用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_FLO

我有六个使用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 中六

顺便说一句,我能做到

sudo ovs-ofctl dump-flows s1
并获得正确的信息


我的bash脚本有什么问题?

为什么要使用反勾号?照办

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

为什么要用反勾呢?照办

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

对于
sudo ovs vsctl列表中的i br
;do sudo ovs ofctl转储流$i;完成

尝试:

对于
sudo ovs vsctl列表中的i br
;do sudo ovs ofctl转储流$i;完成

您正在使用并同时完成所有操作

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

您正在使用并且同时运行所有命令

您告诉bash运行该命令(backticks),然后将输出视为另一个要运行的命令