mardi 15 décembre 2015

pause for loop until grep pattern from command meets condition (bash script)

I want to send multiple jobs to a remote computer. Therefore I wrote a for loop which iterates over i jobs which consist of several subcommands. I need to pause the subsequent iteration until a certain subcommand is executed and the job actually runs on the remote computer. So the idea is to check whether the string "PEND" appears in the output of a command on the remote computer. I want the for loop to continue when "PEND" changes to "RUN". I don't know whether the if statement is the right thing to use here. A fixed waiting time by using sleep wouldn't do the trick.

Erroneous pseudocode:

for i in {1..10}
do
    subcommands
    ...
    if [[ jobs | grep "PEND" == TRUE ]]; then sleep 1
    fi
done

Aucun commentaire:

Enregistrer un commentaire