Chemin par défaut

tabliertablier Membre
juin 2015 modifié dans Coin canapé & détente #1

Je veux faire exécuter le script ci-dessous par bash:



#!/bin/bash


echo "cd  <chemin-absolu>"


cd  <chemin-absolu>



echo "cd hatari"

cd hatari



echo "update"

hg update



Si j'ouvre le terminal et que je fasse: 


moi$ /chemin-absolu du script/


Le script s'exécute parfaitement.


 


Si je prends le texte du script et que sous Applescript je fasse:


set cescript to "le_texte_du_script"


do shell script cescript


j'obtiens trois erreurs qui sont en fait les mêmes: sh: line x: hg: command not found


hg est installé à : /usr/local/bin/hg


 


Je pense que c'est un problème de path. j'ai re-installé Mercurial, mais rien n'y fait. 


 


Des idées la dessus ?


Réponses

  • AliGatorAliGator Membre, Modérateur
    Et pourquoi tu n'utiliserais pas le chemin absolu de hg dans ton script ?
  • LeChatNoirLeChatNoir Membre, Modérateur

    +1 pour Ali


     


    Autre solution : en début de ton script, tu charges ton .profile qui semble charger le path à  un moment donné :



    . ~/.profile
  • Alligator, j'y ai pensé ce matin en tombant de mon lit ! (la nuit porte conseil)


    Et je viens de me rendre compte que je travaillais sous l'éditeur pour les essais, ce qui n'est pas forcément la même chose que de lancer le script compilé. 


    LeChatNoir, je ne connaissais pas ça !


    Bon, quelques essais à  faire.  Merci à  vous deux.


  • yoannyoann Membre

    Ce sont tes variable d'environnement qui sont différentes.


     


    Quand tu ouvre un terminal, tu ouvre un interpréteur de commande spécifique (bash par défaut) qui va charger tout un tas de fichier de pref, dont certain qui changent la variable PATH.


     


    Quand tu exécute un script depuis un app Cocoa, les variables d'environnement ne sont pas les mêmes.


     


    Ajoute un echo $PATH dans ton script pour voir la différence.


     


    Deux solution, les chemin absolu comme dit Ali (mais le script n'est plus portable de fait) ou faire en sorte de mettre à  jour tes variables d'environnement comme le propose LeChatNoir.


  • yoannyoann Membre

    À savoir que des fichiers de MAJ de variable d'environnement il y en a de partout, dont ça peut être tricky de tous les charger.


Connectez-vous ou Inscrivez-vous pour répondre.