export des variables sous SCO

export des variables sous SCO - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 06-08-2010 à 11:31:26    

bonjour à tous,
 
en train de pondre un script sous système SCO 5.0.7 (je n'y peux rien j'le jure :D), je me retrouve confronter à un problème d'export de variables

Code :
  1. flag="ok"
  2. while read cmdline
  3. do
  4.      keyword=`echo $cmdline | cut -f 1 -d " "`
  5.      echo A1--$keyword
  6.      echo B1--$flag
  7.      flag="nok"
  8.      echo B2--$flag       
  9. done < file.txt
  10. echo A2--$keyword
  11. echo B3--$flag


 
Voici l'affichage obtenu :

A1--mkdir
B1--ok
B2--nok
A2--
B3--ok


 
Nb: Le fichier 'file.txt' contient la chaine "mkdir toto"
 
La valeur de flag est bien modifiée mais n'est pas propagée hors du while. La valeur de keyword n'est pas propagée non plus hors du while.
J'ai essayé en collant des "export" un peu partout, mais rien n'y fait.
 
Je donne ma langue au chat... qqun a-t-il une idée ?
 
Merci d'avance.


Message édité par trevor le 06-08-2010 à 11:33:06

---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Marsh Posté le 06-08-2010 à 11:31:26   

Reply

Marsh Posté le 06-08-2010 à 14:32:10    

Je ne crois pas que ca soit lié à sco mais au fait que tu aie un < file.txt
Ca force le shell à faire un fork pour gérer le pipe du fichier.
 
Du coup tu es dans un processus fils qui ne peut pas sortir de données si ce n'est par stdout.


---------------
Vous admin ? http://linux-attitude.fr
Reply

Marsh Posté le 07-08-2010 à 22:37:48    

< <(cat file.txt)


Le chat prend la langue.


Message édité par twocats le 07-08-2010 à 22:38:40

---------------
La réponse est 42
Reply

Marsh Posté le 09-08-2010 à 10:42:36    

Merci de votre réponse. J'ai résolument le pb en passant par un fichier temporaire, mais je vais également tester ta solution 2cats ;)


---------------
TReVoR - http://dev.arqendra.net - http://info.arqendra.net
Reply

Sujets relatifs:

Leave a Replay

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