2014-01-17 2 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

отлично работал –

Смежные вопросы