par contre je rencontre un soucis en l'adaptant avec mon code
voici le code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
|
STATUS=$(qstat | grep "$ID_JOB.master" | awk '{print $5}')
while [ $STATUS != "E" ]
do
STATUS=$(qstat | grep "$ID_JOB.master" | awk '{print $5}')
if [ $STATUS = "Q" ]
then
STATUS="Wainting ..."
elif [ $STATUS = "R" ]
then
STATUS="Running ..."
elif [ $STATUS = "E" ]
then
STATUS="Finished !"
fi
printf "\rStatus job : $STATUS"
done
qstat
qdel $ID_JOB |
La première ligne du code je récupère l'état de mon statut qui peut prendre la valeur Q,R ou E
Donc je dis à ma boucle que tant que STATUS ne vaut pas E (et donc le job terminé) tu reste dans la boucle.
Sauf que j'obtient ce message
Status job : Wainting ..../Launcher_v1.1.ksh[97]: writejob[54]: [: ...: unknown operator
Etant donné que tout le code n’apparaît pas je vais vous expliquer comme se compose mon code.
J'appel à la ligne 97 la fonction writejob et dans cette fonction la ligne 54 correspond à la ligne 2 while [ $STATUS != "E" ] du code ci dessus.
j'ai limpression que le problème vient de !=, pourtant j'ai regardé sur les doc et pour des chaines de caractères il fait bien utiliser !=
une idée ?
Merci d'avance
Partager