执行这些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(脚本日志中没有任何内容)。< / p>
答案 0 :(得分:2)
这是顺序的。一切都按顺序发生。如果您使用以下标题运行脚本
#!/bin/bash -x
然后你会在执行时看到每个命令。
答案 1 :(得分:1)
只要您在前台执行所有命令,命令就会按照您在脚本中指定的顺序执行。
command1
command2
command3
一个接一个地执行。
下面
command1 &
command2
command3
command2和command3 可能在command1之前完成,如果command1需要更多时间来完成其他两个。这是因为command1和command2及更高版本的命令3并行运行,而在第一个示例中,所有命令都按顺序在前台运行。