Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/01/2013, à 14:18

vajpaille

[RESOLUT]Question sur debut d'une fonction.

Bonjour,

Aujourd'hui en cherchant sur le Web à automatisé mon taf (bah oui je vais pas non
plus travailler tout le temps...)
je suis tombé sur le code d'une personne qui commence une fonction comme suit :

name ()
{
   exec 1>&2
   [...]
   exit 1
}

J'aimerais savoir à quoi sert cette ligne dès le début de sa fonction.

exec 1>&2

Une idée pour m'éclairer ?

Have fun.

Dernière modification par vajpaille (Le 16/01/2013, à 14:56)


GNU/Linux : Ubuntu, CentOS, Red Hat
BSD : OpenBSD, GhostBSD, PC-BSD

Hors ligne

#2 Le 16/01/2013, à 14:23

pingouinux

Re : [RESOLUT]Question sur debut d'une fonction.

Bonjour,
C'est pour rediriger la sortie standard (stdin) sur la sortie d'erreur (stderr).

Hors ligne

#3 Le 16/01/2013, à 14:38

vajpaille

Re : [RESOLUT]Question sur debut d'une fonction.

Jusque là nous sommes d'accords,
mais ne vois tu pas une raison de l'appeler dès le début ??

Si je suit le raisonnement, ma function est appelé après l'exécution d'une autre partie de mon
script et pour garder une trace dans la sortie d'erreur ? D'ou le "exit 1" au lieu de "0" ?

Cette fonction est appelé dans un "getopts".


GNU/Linux : Ubuntu, CentOS, Red Hat
BSD : OpenBSD, GhostBSD, PC-BSD

Hors ligne

#4 Le 16/01/2013, à 14:49

pingouinux

Re : [RESOLUT]Question sur debut d'une fonction.

La redirection ne s'effectue qu'au moment où la commande est exécutée. Avant l'appel à name, stdin ne va pas sur stdout.

Hors ligne

#5 Le 16/01/2013, à 14:54

vajpaille

Re : [RESOLUT]Question sur debut d'une fonction.

Ok, donc tout ce qui a été renvoyé vers la sortie std avant l'appel de la fonction est renvoyé.

Merci pour ces éclaircissements !

Bonne journée.


GNU/Linux : Ubuntu, CentOS, Red Hat
BSD : OpenBSD, GhostBSD, PC-BSD

Hors ligne