Tarik Fdil, le Sun 06 Jul 2008 09:57:56 +0100, a écrit :
> Salut Michel,
> 
> Je ne sais pas si je comprend bien ta question mais ls commandes sous 
> unix peuvent être séparées simplement par des point-virgules. Ainsi :
> 
> $  cmd1;cmd2;cmd3
> 
> ou encore
> 
> $ (cmd1; cmd2;cmd3)
> 
> La différence entre les deux symtaxes ci-dessus : Dans le premier cas 
> chaque commande est exécuté dans son propre process. Dans la seconde, 
> avec les parenthèses, les trois s'exécutent dans le même process. 
> Utilité : par exemple si tu veux rediriger les stdin, stdout et stderr 
> des trois commandes simultanément, la seconde forme est indiquée. 
> Autrment dit : avec "cmd1; cmd2; cmd3>toto" tu auras dans toto 
> uniquement la sortie de cmd3. Par contre avec "(cmd1; cmd2; cmd3)>toto"  
> tu auras dans toto les sorties des trois commandes.

Heu, le résultat est effectivement cela, mais l'explication est un peu
différente. Dans les deux cas les trois commandes sont exécutées dans
trois processus différents ; mais dans le deuxième cas, c'est un
sous-shell qui s'occupe de les lancer, et c'est la sortie de ce
sous-shell (donc des trois commandes aussi) qui est redirigée.

Samuel
_______________________________________________
Liste de diffusion CarrefourBLinuX 
    [email protected]
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel : 
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel : 
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à