OVH Cloud OVH Cloud

read sous Linux

11 réponses
Avatar
Michele
Bonjour,

Soit le script suivant :
#!/bin/ksh
PATH=/usr/bin:/bin:/sbin:......
uname -a | read val1 val2 other

Sous solaris, le script fonctionne bien, et les variables val1 val2 et other
sont bien renseignées.
Alors que sous Linux (RedHat Enterprise 3.0 AS), les variables val1, val2 et
other ne sont pas renseignées. Alors que "uname -a" tout seul affiche bien
quelque chose.

De même, toujours sous Linux, si je mets dans le script :
uname -a > /tmp/fic.txt
read val1 val2 other < /tmp/fic/txt

Les variables val1, val2 et other sont bien renseignées.
Quelqu'un aurait-il une explication ?

Et comment écrire le script de façon optimale et portable (fonctionnant sous
Linux et Solaris) pour affecter les variables val1, val2 et other avec le
contenu de uname -a ?

Merci d'avance.

1 réponse

1 2
Avatar
Christophe Blaess
En voici un exemple testé avec Bash, mais je pense qu'il doit
fonctionner sur tout shell Posix :


Heu non, pas avec tout shell Posix, puisque les tableaux n'y
sont pas spécifiés il me semble, disons "sur Bash et la plupart
des implémentations de Ksh".


--
Christophe Blaess
http://www.blaess.fr/christophe/

1 2