(Courriels de diversion: <devisagerai@opposerait-metamorphosiez.com> <deboutonnez@portait-textile.com> <fanges@vaillante-catalepsie.com> <coupent@orientiez-petit.com> <remues@graisserions-veloute.com> <oteraient@glapissements-expliciterons.com> <gommions@joyau-raid.com> <rassortiraient@soustrait-rainurage.com> <vendions@refrigeration-inopportune.com> <neocolonialisme@geigniez-convertie.com> )


a mon avis ton probleme est celui d'un sous shell include
que tu veut transforme en executable
 ce qui est une erreur !!!

lance seulement a la main pour tester
". ./script.sh"
attention il ya bien deux point dans la ligne !!!!
et les deux premier son separe par un blanc !!!!!!

c'est une macro shell un include

C'EST UNE  ERREUR DE RENDRE EXECUTABLE CE TYPE DE FICHIER !
(vire avant de commencer le  #!bin/sh)



ensuite si sa marche bien
tu inclura cela dans le fichier d'inclusion standar du shell :
 .profile ou le .bash_login   ou ???
     celon le cas 
       voir la doc de ton shell,
 avec le chemin exact de preference

A+


explication technique :

 une sous tache (un fork exec)
ne peut pas modifier le contexte de la tache appelante !!!
of cause !!!
(le seul truc transmis de la sous tache a la tache appelante
 et son code erreur  (visible dans $? )!!!)

 donc les commande EXPORT dans un shell
ne peuvent etre faite que dans des includes shell fichier
ou que dans le source courant ou dans un shell appelant !!!

 dans tous les cas dans une tache ancettre ou la tache courante
 il ne fo rien experere d'une sous tache que son code retour !!!

 qnand tu tape une commande shell
qui commence par un point "." 
le shell sait qu'il ne doit pas excuter cette commande
mais qu'il doit faire a une macro d'inclusion.

par exemple

". tata"

demande a l'interpreteur de lire le fichier tata
au milieu de la sequence de commande shell
comme si elle fisait partie du flux de commande initial
(on reste dans le meme executable). 


si tu tappe

"tata" 

 tu execute une autre tache (qui aura un autre $$ numero de tache )
cette sous tache va change ces  variable d'environement (a elle)
 les exporter pous ces sous tache a elle !

pendant ce temps la tache appelante qui a lance "tata"
attend la fin de tata dans le contexte initial !

 A la fin de tata le contexte modifie
 disparait purement et simplement !


c'est une erreur classique  !!!!
voir cours debutant

la ligne suivante par exemple

". ./.profile"
a trois points TOUS DIFFERANTS

le premier signifi macro (pas de sous shell)(fichier non executable)
INCLUSION
le deuxieme c'est chercher dans le directory courant
et le troisieme devant le nom du fichier signifi fichier cache(pour
commande LS)



RQ
en plus des macro il existe aussi les commande interne
du shell (pour la meme raison)
 par exemple cd  : change directory

il n'existe pas de fichier executable "cd"
meme si il existe un executable "pwd" !!!!

pour plus d'info envois un couriel ou telephone moi



blaise wrote:
> 
> Salut,
> Depuis plusieurs jours, je me bats avec un Zaurus (genre de pda sous linux)
> pour pouvoir compiler dessus (pas simple !). J'ai trouvé un outil qui marche
> plus ou moins, je suis en train de faire des tests. Le problème, c'est que
> pour le mettre en route, il y a un script *.sh qu'il faut lancer et qui doit
> modifier quelques PATH et créer quelques liens symboliques. Lorsque j'exécute
> ce script (./script.sh), les liens symboliques sont créés, mais les PATH sont
> pas mis à jour. Donc je suis obligé de me taper tous les PATH à la main, ce
> qui est assez fastidieux sur le micro clavier du Zozo. J'ai essayé de mettre
> la ligne  :
> #!/bin/sh
> au tout début du fichier, sans plus de succès.
> Quelqu'un a-t-il une idée pour que je puisse exécuter les lignes suivantes
> automatiquement ? Ca doit pas être bien dur, il doit me manquer une case...
> Merci
> Blaise
> 
> Voici le script en question :
> 
> export GCC_EXEC_PREFIX=/mnt/card/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
> export
> COMPILER_PATH=/mnt/card/.zgcc/bin:/mnt/card/.zgcc/lib/gcc-lib/arm-linux/2.95.2/
> export CPATH=/mnt/card/.include/
> export
> LIBRARY_PATH=/mnt/card/.zgcc/lib/:/mnt/card/.zgcc/lib/gcc-lib/arm-linux/2.95.2/:/lib/:/home/QtPalmtop/lib/
> export CPLUS_INCLUDE_PATH=/mnt/card/.include/g++-3/
> PATH=/mnt/card/.zgcc/bin:$PATH
> export PATH
> LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/mnt/card/.zgcc/lib
> export LD_LIBRARY_PATH
> TMAKEPATH="/mnt/card/.zgcc/tmake/lib/sharp-onboard/"
> export TMAKEPATH
> ln -sf /lib/libc.so.6 /usr/lib/libc.so
> ln -sf /lib/libm.so.6 /usr/lib/libm.so
> ln
> -sf /mnt/card/.zgcc/bin/libstdc++-3-libc6.1-2-2.10.0.so /home/QtPalmtop/lib/libstdc++-libc6.2-2.so.3
> 
> --------------------------------------------------------------------
> Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>

-- 
  Veuillez n'utiliser que le format txt, dans les couriels,


 A.B. : imcp.ba@free.fr  033670506744   FREE LINUX SYSTEM http://imcp.ba.free.fr http://www.culte.org

  Pc : ortho-graphe connait pas !!!   phonetique oui !!!

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>