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 ?
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".
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".
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".