Re: Question script Bash

Top Page

Reply to this message
Author: Bruno Cudini
Date:  
To: Yves Martin
CC: Guilde ML
Subject: Re: Question script Bash
On Mon, Jun 27, 2011 at 03:51:05PM +0200, Yves Martin wrote:
> Bonjour,
>
> 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 la commande "useradd".
> J'obtiens visiblement celle de "tee" et cela m'intéresse moyennement.
>
> Evidemment
> /usr/sbin/useradd --system --uid 600 --gid 600 2>&1 >> $LOG
> fonctionne bien mais il manque un petit quelque-chose dans la console
>
> Que me conseillez-vous ?


Bonjour,

Comme c'est la première fois que je poste je me présente : Bruno Cudini,
étudiant en fin de licence pro à l'IUT2, et c'est moi le stagiaire dont
Xavier a parlé ici il y a quelques temps à l'occasion de la panne du
serveur de la Guilde.

Je pense que la commande mispipe correspond à ce que tu veux : elle
permet de renvoyer la valeur de retour de la première commande, ce qui
permet d'utiliser tee, less ou autre sans altérer le code de retour. La
commande deviendrait :
mispipe "/usr/sbin/useradd --system --uid 600 --gid 600 2>&1" "tee -a $LOG"

Elle est disponible dans le paquet moreutils de Debian.

Cordialement

--
Bruno Cudini <bruno@???>