(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/>