bash顺序执行时间轴

时间:2012-11-01 19:05:21

标签: bash sh

假设我输入以下命令:

/usr/local/bin/wget -O "/storehere.xml" "download1" && ./parse_xml;/usr/local/bin/wget -O "/storehere.xml" "download2" && ./parse_xml;

根据我的理解,在检索并存储download1之后,shell将执行parse_xml。但是,我不清楚的是下一个下载的wget命令何时执行? parse_xml完成​​后执行(当然是第一次)?或者在执行parse_xml的请求之后?如果回答后者,我想知道一种方法让我的脚本在执行下一个wget之前等待来自parse_xml的返回代码。

感谢。

1 个答案:

答案 0 :(得分:2)

在您的情况下,在调用下一个命令之前,会调用每个命令并成功完成(或失败)。

<强>解释

  • 在一行上划分不同命令的&&符号表示“如果&amp;&amp;&amp;&amp;&amp;&amp;&lt;&amp;&amp;&lt;&amp;&lt;&amp;&lt;&amp;&lt;&amp;&lt; 1&gt;)之前的命令为零,则在&amp;&amp;&amp;&amp; ;&安培;“
  • 在一行上划分不同命令的$?符号表示“在';'之前运行命令,然后在命令之后执行命令,无论第一个命令是否成功。

要测试此功能,您可以在提示符下尝试以下两个不同的命令:

;