Lancer un script depuis un autre (log et code retour)

Résolu/Fermé
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 - 24 juil. 2013 à 15:22
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 - 24 juil. 2013 à 18:13
Bonjour tout le monde,

Voilà je fais un script dans lequel je lance un autre script.
Rien de bien extraordinaire pour le moment...

Chaque script est enregistré dans un fichier de log différent et chacun gère sa log

Mon but est donc de :
- Lancer un script script2 depuis script1
- Afficher la log de script2 dans celle de script1
- La sortie console doit rester normale et contenir les deux scripts
- On garde les deux fichiers de log
- Je récupère le code retour de script2 dans script1

J'ai cherché j'ai deux solutions :
- ./script2 params | tee -a $LOG (ça marche comme il faut mais je n'ai pas le code retour)
- ./script2 params >> $LOG (super mais non j'ai plus la sortie console)

Voilà y'a peut-être un truc tout bête qui m'échappe...



A voir également:

2 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
Modifié par dubcek le 24/07/2013 à 15:35
hello
avec pipefail, le $? est celui de script2 et pas de tee
set -o pipefail
./script2 params | tee -a $LOG
echo $?
1
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 juil. 2013 à 15:45
Ok super ça marche !
Juste une dernière question :
Comment je fais pour annuler sa après ?
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 juil. 2013 à 16:11
J'ai pas trouvé dans le man... '-_-
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
24 juil. 2013 à 16:11
set +o pipefail
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 juil. 2013 à 16:12
vu que sa marche pour set -x...
La réponse semble logique d'un coup...

Désolé du dérangement et encore milles merci =)
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
24 juil. 2013 à 16:28
on peut aussi utiliser PIPESTATUS, pas besoin de set + ou -
$ ls xx | tee zz
ls: cannot access xx: No such file or directory
$ echo $?
0
$ ls xx | tee zz
ls: cannot access xx: No such file or directory
$ echo ${PIPESTATUS[0]}
2
$ 
0
arthurg95 Messages postés 2399 Date d'inscription dimanche 24 février 2008 Statut Membre Dernière intervention 4 juin 2014 341
24 juil. 2013 à 15:29
Bonjour,

Et en faisant :
./script2 params > tmp
cat tmp >> $LOG
cat tmp


Pas super optimisé, mais c'est simple et normalement ça marche ;)
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 juil. 2013 à 15:33
oui certes sa marche...
Mais comme tu dis pas super optimisé. ^^
En plus techniquement je crée la log à l'aide d'une fonction qui permet de dater le script
Exemple :
fctlog "Coucou" $LOG

Affiche "Coucou" sur l'écran et "240713_15h32m Coucou" dans la log.

Je suis compliqué hein ^^
0
Utilisateur anonyme
24 juil. 2013 à 17:20
Oui tu cherches les bestioles lol ^^
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 juil. 2013 à 17:25
Je sais bien ! =3
Mais t'as pas idée comment c'est pratique pour mesurer un traitement par exemple.
0
Utilisateur anonyme
24 juil. 2013 à 17:40
C'est l'infinie avec PHP ^^, Je suis en retard là dessus lol
Ben bon courage !!!
0
Lapourax Messages postés 3006 Date d'inscription vendredi 15 mars 2013 Statut Contributeur Dernière intervention 17 février 2023 334
24 juil. 2013 à 17:43
php ça fait pas tout !
Bref merci pour ton passage et ton soutiens. =)
0