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