Difference shell Unix et shell Linux

Difference shell Unix et shell Linux - Shell/Batch - Programmation

Marsh Posté le 08-02-2006 à 15:42:07    

Bonjour,
Suite a un changement de plateforme (AIX vers Linux), je rencontre des difficultées sur les shells.
A priori lors d'une boucle while plusieurs variables presentes dans le shell perdent leur valeur :  
Ci dessous le style de la commande :
 
fct_lect | while read zone1 zone2
do
    echo "toto"
done
 
Avec fct_lect qui est une fonction du shell faisant une lecture de base de données (le resultat de la requete est correct) et dont le resultat va dans zone1 et zone2
 
Je precise que j'utilisait #!/bin/ksh en AIX
 
Auriez vous une idée sur une eventuelle difference entre le fonctionnement AIX et Linux
 
Merci d'avance

Reply

Marsh Posté le 08-02-2006 à 15:42:07   

Reply

Marsh Posté le 08-02-2006 à 19:36:18    

sous Linux tu as généralement bash et pas ksh
et dans une install de base, je crois que ksh est en réalité un lien vers bash

Reply

Marsh Posté le 09-02-2006 à 04:31:10    

Tu as oublié de dire quel était le problème, mais si c'est que zone1 et zone2 sont vides après le "done", alors c'est le piège archi classique que j'explique ici :
 
http://forum.hardware.fr/hardwaref [...] 2543-1.htm
 
Edit : et pour répondre à ta question, avec le ksh d'AIX, zone1 et zone2 contiennent bien quelque chose après le "done" (ne me demande pas pourquoi, je ne sais pas). Sur à peu près tous les autres shell, zone1 et zone2 sont vides après le "done".


Message édité par matafan le 09-02-2006 à 04:37:08
Reply

Marsh Posté le 10-02-2006 à 13:13:48    

Tu es un dieu vivant MATAFAN. :bounce:  
Tu as vu juste, c'est ok maintenant.
Merci beaucoup , tu me sort d'une belle galere.
 
A bientot

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed