(Courriels de diversion: <ignifuges@pansee-choquees.com> <reparation@cyclomotoriste-transcrivons.com> <agrafe@graisserait-detruirais.com> <rapprendrais@fourneau-fatiguerent.com> <indemniserons@demonterais-devisagerai.com> <opposerait@metamorphosiez-deboutonnez.com> <portait@textile-fanges.com> <vaillante@catalepsie-coupent.com> <orientiez@petit-remues.com> <graisserions@veloute-oteraient.com> )


Ca marche ! Merci beaucoup pour tes explications détaillées. J'avais bien 
suivi tes cours "Grands Débutants" mais je ne me rappelais pas de ça. Je 
persévère, mais en fait, je désespère de rester à jamais un "Petit 
Débutant"... ;p
Blaise

Le mercredi 30 Mars 2005 02:42, imcp.ba a écrit :
> 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/>

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