2014-01-17 35 views
1

我想寫一個bash腳本,通過一系列的mysql查詢在文本文件中迭代。我試着用下面的腳本等待mysql查詢終止在bash腳本

#!/bin/bash 
# Process files 

for x in {1...8} 
do 
    nohup mysql < coauthorquery$x.txt & 
    mv nohup.out coauthor$x.csv 
done 

但由於的nohup.out不存在,直到在文本文件中查詢的完成它失敗。選擇一個固定的暫停持續時間是不可行的,因爲查詢的長度是可變的。如何暫停腳本直到查詢完成?

+1

運行命令不要把它在後臺,然後。消除'&'。 –

回答

1

使用wait命令

nohup mysql < coauthorquery$x.txt & 
wait 
mv nohup.out coauthor$x.csv 

或者說,不要在後臺

nohup mysql < coauthorquery$x.txt 
mv nohup.out coauthor$x.csv 
+0

完美運作 –