Comment mettre un résultat en sortie de pipe dans une variable ?
Bonjour,
Mon problème est que je cherche à récupérer des informations en sortie d'un programme.
lorsque je lance blabla via un autre programme toto,
Code:
1 2
|
toto -option1 xxx -option2 xxx "blabla fich.xx" |
Celui-ci me renvoie une info du genre:
Code:
IDENTIFICATION NUMBER: JOB_ID=12345678
Je ne peut pas accéder à la variable environnement $JOB_ID qui n'est définie qu'à l'intérieur de l’exécution de blabla. J'ai donc essayé de ruser pour récupérer cet ID:
Code:
1 2
|
toto -option1=x,option2=y "blabla fich.xx" | grep -n "JOB_ID" | cut -d= -f 2 |
je récupère bien le bon numéro mais je ne sais comment le mettre dans une variable:
Code:
1 2
|
idjob=$(toto -option1=x,option2=y "blabla fich.xx" | grep -n "JOB_ID" | cut -d= -f 2) |
de même que
Code:
1 2
|
toto -option1 xxx -option2 xxx "blabla -optionA -optionB xxx" | grep -n "JOB_ID" | idjob=$(cut -d= -f 2) |
Ne fonctionnent pas... j'ai essayer aussi de stocker temporairement dans un fichier comme
Code:
1 2
|
toto -option1=x,option2=y "blabla fich.xx" | grep -n "JOB_ID" | cut -d= -f 2 >> idjob.txt idjob=$(cat idjob) |
semble fonctionner mais bon, ça a l'air peu efficace.
Auriez-vous une manière plus simple et rapide de faire ?
Merci :)