这些bash命令的执行顺序是什么?有没有可能第四条线在第一条线或第二条线结束之前开始?
find $LOCAL_TMP -type f -exec grep -l 'operationType="ACTIVATION"' {} ';' | xargs grep -l 'serviceCode="ACC-FTTS' | xargs -ICrTopoIpnatif mmv CrTopoIpnatif $LOCAL_TOPO
find $LOCAL_TMP -type f -exec grep -l 'operationType="DEACTIVATION"' {} ';' | xargs grep -l 'serviceCode="ACC-FTTS' | xargs -ICrTopoIpnatif mmv CrTopoIpnatif $LOCAL_TOPO
echo "mmv $LOCAL_TMP/**/*.xml $REP_LOCAL" >> $LOGFILE
mmv "$LOCAL_TMP/**/*.xml" "$REP_LOCAL" >> $LOGFILE我之所以这样问,是因为我在$REP_LOCAL中找到了这些文件(这是另一个脚本的池目录,文件显示在脚本的日志中),而不是在$LOCAL_TOPO中(这里没有脚本日志中的任何内容)。
发布于 2012-12-07 23:41:44
它是连续的。每件事都按顺序发生。如果您使用以下标头运行脚本
#!/bin/bash -x然后,您将在每个命令执行时看到它。
发布于 2012-12-07 23:50:30
只要您在前台执行所有命令,这些命令就会按照您在脚本中指定的顺序执行。
command1
command2
command3一个接一个地执行。
这里
command1 &
command2
command3如果command1需要比其他两个更多的时间来完成,那么command2和command3可能会在command1之前完成。这是因为command1和command2以及后来的command3是并行运行的,而在第一个示例中,所有命令都是在前台顺序运行的。
https://stackoverflow.com/questions/13766221
复制相似问题