OVH Cloud OVH Cloud

[Shell] aide sur les pipe

14 réponses
Avatar
daniel
Bonjour,
Bon, ce formu est ma dernière chance, parce que ça fait trois jours que
je me prend la tête sur un problème de script qui maiche pas mais je
sais pas pourquoi.
Alors voilà, j'ai un fichier qui contient trois lignes de texte,et qui
s'appelle test.txt, par exemple :
Truc
Bidule
Chose

Le but du script que je cherche à faire est d'attribuer à trois
variables différentes (par exemple a, b et c) chaque ligne de ce fichier.
Pas la peine de se prendre la tête à essayer de trouver une solution
alternative, j'en ai déjà une qui marche, ce que je voudrais comprendre,
c'est pourquoi ma solution ne marche pas et comment la faire marcher
voilà mon script :
cat test.txt | read a b c

Voilà
Merci d'avance à ceux qui me répondront

4 réponses

1 2
Avatar
Éric Lévénez
Le 28/04/04 19:13, dans ,
« Stephane Chazelas » a écrit :

A part le /bin/sh de Solaris, ce qui en fait une exception
notable.

{ read a; read b; } < file

ne marchera pas.


Mince, mon Mac OS X ne sait pas qu'il est un Solaris ! :-)

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.

Avatar
Stephane Chazelas
2004-04-28, 19:17(+02), Éric Lévénez:
Le 28/04/04 19:13, dans ,
« Stephane Chazelas » a écrit :

A part le /bin/sh de Solaris, ce qui en fait une exception
notable.

{ read a; read b; } < file

ne marchera pas.


Mince, mon Mac OS X ne sait pas qu'il est un Solaris ! :-)


Oui, bon, ca ne marche pas avec (t)csh non-plus, mais ça devrait
marcher avec tous les shells POSIX. A priori, le /bin/sh de
MacOS X, c'est un derivé de ash ou un bash, non ?


--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]


Avatar
Éric Lévénez
Le 29/04/04 8:30, dans ,
« Stephane Chazelas » a écrit :

2004-04-28, 19:17(+02), Éric Lévénez:
Le 28/04/04 19:13, dans ,
« Stephane Chazelas » a écrit :

A part le /bin/sh de Solaris, ce qui en fait une exception
notable.

{ read a; read b; } < file

ne marchera pas.


Mince, mon Mac OS X ne sait pas qu'il est un Solaris ! :-)


Oui, bon, ca ne marche pas avec (t)csh non-plus, mais ça devrait


csh ? Je croyais que l'on parlais de vrais shells. :->

marcher avec tous les shells POSIX. A priori, le /bin/sh de
MacOS X, c'est un derivé de ash ou un bash, non ?


Le shell par défaut de Mac OS X actuellement est bash. Mais ça marche aussi
sur zsh.

--
Éric Lévénez -- <http://www.levenez.com/>
Unix is not only an OS, it's a way of life.



Avatar
Stephane Chazelas
2004-04-29, 08:42(+02), Éric Lévénez:
[...]
marcher avec tous les shells POSIX. A priori, le /bin/sh de
MacOS X, c'est un derivé de ash ou un bash, non ?


Le shell par défaut de Mac OS X actuellement est bash. Mais ça marche aussi
sur zsh.


Je reprends ce que je disais, il semble que je me sois mal
exprimé :

{ read a; read b; } < file

marche (dans le sens où ca ne crée pas un sous-shell) avec tous
les shells sauf le Bourne shell. On ne trouve quasi plus de
Bourne shell de nos jours, sauf (entre autres) le /bin/sh de
Solaris.

--
Stéphane ["Stephane.Chazelas" arobase "free.fr"]


1 2