簡體   English   中英

bash腳本中的執行順序

[英]Execution order in bash script

這些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中找到了文件(此處的腳本日志中沒有)。

它是順序的。 一切按順序進行。 如果您使用以下標頭運行腳本

#!/bin/bash -x

然后您將在執行每個命令時看到它們。

只要您在前台執行所有命令,這些命令就會按照您在腳本中指定的順序執行。

command1
command2
command3

被一個接一個地執行。

這里

command1 &
command2
command3

如果command1比其他兩個命令需要更多的時間來完成命令,那么command2和command3 可能在命令1之前完成。 這是因為command1和command2以及更高版本的command3是並行運行的,而在第一個示例中,所有命令都依次在前台運行。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM