----- "Daniel Cordey" <[email protected]> a écrit : > On Monday 27 June 2011 15:52:10 Yves Martin wrote: > > > Je découvre avec horreur en écrivant mes scripts que ce type > d'écriture > > /usr/sbin/useradd --system --uid 600 --gid 600 2>&1 | tee -a $LOG > > m'empêche d'obtenir la valeur de retour $? de la commande "useradd". > > J'obtiens visiblement celle de "tee" et cela m'intéresse > moyennement. > > Le $? est *toujours* la valeur de retour de la derniere commande > effectuee. Il faut donc se mefier des && || et autre | :-) > > > /usr/sbin/useradd --system --uid 600 --gid 600 2>&1 >> $LOG > > fonctionne bien mais il manque un petit quelque-chose dans la > console > > Que te manque-t-il d'apres toi ? > > /usr/sbin/useradd --system --uid 600 --gid 600 2>&1 && echo "Added > user ID 600:600" >>${LOG}
J'aimerai que les stdout / stderr sortent sur la console ET soient copier dans le log en ayant ensuite la possibilité de contrôler le code de retour $? pour faire un "die" ou une action compensatoire. Avec >> $LOG l'opérateur est aveugle, surtout si un prompt demande une réponse ou un traitement prend du temps (gros unzip) sans "progression" visible. Merci -- Yves Martin _______________________________________________ gull mailing list [email protected] http://forum.linux-gull.ch/mailman/listinfo/gull
