IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes POSIX Discussion :

Comment enregistrer une commande personnalisée ?


Sujet :

Shell et commandes POSIX

  1. #1
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut Comment enregistrer une commande personnalisée ?
    bonjour
    j'ai créé un exécutable texmacs.sh qui prend un fichier en paramètre
    je voudrais maintenant, au lieu d'invoquer cet exécutable par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /ici/truc/machin/texmacs.sh
    suivi d'un glissement du fichier choisi dans la fenêtre du terminal, faire plutôt une commande :
    je n'aurais qu'à faire par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txmcs [fichier glissé ici]
    et ça s'exécuterait

    j'ai lu qu'il faudrait mettre le chemin de cet exécutable dans .bashrc puis faire source.bashrc mais je n'ai jamais réussi à mettre cela en pratique

    pourriez vous m'aider à réaliser ça ?
    je ne sais pas si c'est utile, je suis sous os X 10.10.5
    merci d'avance
    Vincent

  2. #2
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Bonjour

    je ne sais pas si c'est utile, je suis sous os X 10.10.5
    Oui, c'est utile.

    je n'aurais qu'à faire par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    txmcs [fichier glissé ici]
    et ça s'exécuterait
    Pour le glisser déposé, je ne sais pas. Je suis incompétent en Mac.
    Mais pour taper "txcms" au lieu de ta commande, il suffit de faire un alias.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias txmcs=/ici/truc/machin/texmacs.sh
    Note : ce n'est pas bien que tu mettes l'extension .sh quand c'est .bash !

    Si tu viens de tester, tu te dis peut-être "youpi tralala, ça marche".
    Mais tout aura disparu au redémarrage.
    Pour pérenniser, il faut le mettre, par exemple, dans un fichier de démarrage comme .bashrc . (Sous os X, il semblerait qu'il faille que bash soit ton interpréteur par défaut. chsh -s /bin/bash si ce n'est pas le cas)

    source.bashrc
    Certainement pas en un seul mot.
    La commande source exécute un autre fichier dans le shell actuel.
    Ici, si tu viens de créer/tester l'alias, ce n'est pas la peine de le 'source'r.

    j'ai lu qu'il faudrait mettre le chemin de cet exécutable dans .bashrc
    Si le chemin est dans l'alias, c'est suffisant.

    Pour plus d'info :

  3. #3
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    merci à toi

    bon j'ai fait puis et j'ai rajouté la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias da=/truc/machin/bidule/texmacs.bash
    ensuite j'ai fait je redémarrerai demain matin pour voir si ça marche bien...

    Vincent

  4. #4
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    bon j'ai redémarré et j'ai à nouveau un souci....

    dans le dossier où il y a mon exécutable da.bash
    j'ai fait je tape maintenant comme ça, sans paramètre pour voir
    il me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    da.bash: command not found
    dans j'ai tapé (hier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    da=ici/truc/chose/da.bash
    avec le bon chemin et je retape ce matin
    il me dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -bash: syntax error near unexpected token `)'
    ce qui fait que globalement je suis complètement perdu

    c'est peut être quelque chose de simple ?

    merci d'avance si vous pouvez me débloquer....

    Vincent

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    j'ai tapé (hier)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    da=ici/truc/chose/da.bash
    Aucun script n'a ce chemin.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    da=/ici/truc/chose/da.bash
    Non ?

    Tu confonds chemin absolu et chemin relatif.
    Dans la citation, le chemin est relatif : on part du dossier actuel. Donc à moins d'être dans "/", ça ne peut pas marcher.

    Dans le code donné juste après, on a un chemin absolu. On part de la racine, puis dans le dossier "ici", puis le dossier "truc", puis le dossier "chose", dans lequel on trouve le script da.bash

    Hier, j'avais conseillé un chemin absolu, et tu avais dit avoir mis un chemin absolu.
    Et aujourd'hui, tu déclares avoir mis un chemin relatif. Ça ne va pas.

    je tape maintenant
    Il ne cherche les commandes que dans les dossiers du $PATH.
    Si tu veux exécuter un fichier dans le dossier courant, tu dois l'indiquer comme je l'ai fait.
    Après, tu peux trouver malin de mettre le dossier courant dans le $PATH. Et tes soucis disparaîtront.

  6. #6
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    salut

    l'histoire des chemins relatifs ou absolus n'est qu'une étourderie dans mon message
    vu que je mets les chemins en faisant glisser les éléments, il n'y a pas d'erreurs
    l'erreur venait du fait que je ne faisais pas le ./ avant. J'ai repris mes notes et je l'avais pourtant marqué quelque part. Maintenant, je m'en souviendrai.
    D'après mes notes, dis moi si je me trompe, j'aurais pu aussi faire .
    de ce côté-là c'est résolu

    ce que je ne comprend pas vraiment c'est que quand je fais voire ça ne marche pas ensuite si je tape : il me renvoie le message suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    -bash: syntax error near unexpected token `)'
    ensuite je comprend théoriquement l'histoire du $PATH mais c'est là le point que je n'ai jamais pu éclaircir depuis mon mooc sur le bash : où est ce $PATH ?

    dans le fichier j'ai rajouté la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias da=/Users/moi/\)ici/La/Bash/Programmes/da.bash
    et j'ai fait mais malgré cela l'instruction ne marche toujours pas et me renvoie ce mytérieux message d'erreur

    je me dis que peut être la )parenthèse dans le chemin (l'un de mes dossiers s'appelle pour apparaître en premier dans l'ordre alphabétique) pourrait être la cause, pourtant pourquoi alors quand je fais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ./da.bash /Users/moi/\)ici/La/Bash/Programmes/da.bash
    ça marche nickel ?

    merci de ton aide...

    Vincent

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    ça ne marche pas ensuite si je tape
    Tu lui demandes d'exécuter "da".
    Pas le contenu de la variable nommée da.
    Donc déjà, ce serait ceci
    Mais en plus, on utilise un alias, comme déjà indiqué.

    où est ce $PATH ?
    En mémoire.
    C'est une variable.
    Pour l'afficher :
    (l'un de mes dossiers s'appelle )ici
    Tu as cherché la m...., tu es dedans. Bravo. Bien fait.
    La parenthèse est un métacaractère, opérateur de contrôle, pour bash.
    C'est écrit en toute lettre dans le manuel.

    pour apparaître en premier dans l'ordre alphabétique)
    Cela ne marche même pas. Je viens de tester. ")toto" est affiché en avant dernier, juste avant "zozo" et après "roro".
    Abandonne cette fausse bonne idée.

  8. #8
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    bon, alors fonctionne très bien malgré le ) du chemin (écrit sous la forme \) d'ailleurs)

    je comprend ce que tu veux dire sur le ), cependant il m'est très utile depuis des années pour mettre en haut des listes mes fichiers et dossiers importants, ici je parle de l'affiche du Finder de mac osX, pas du bash

    si je dois supprimer les ) des paths de mon disque dur, cela va me prendre du temps, mais je vais y penser, peut-être les remplacer par des A_ par exemple

    quant au $PATH, ok j'ai fait , du reste je n'ai pas réussi à afficher cela ligne par ligne, malgré mes tentatives en ou ... mais c'est secondaire

    le principal est que je ne comprend pas bien comment modifier le $PATH
    d'ailleurs j'ai toujours eu le même problème pour modifier durablement le $PS1

    je n'y arrive pas

    voici mes notes suite au mooc :
    Nom : Capture d'écran 2018-07-29 01.08.14.png
Affichages : 1150
Taille : 90,8 Ko

    je n'ai jamais réussi à les mettre en application...

    Vincent

  9. #9
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Bonjour,

    il serait utile de cesser de faire des transcriptions de commandes, de noms de fichiers, de chemins...
    fais des copier/coller de ce que tu fais, de ce que tu as...
    ça évitera les coquilles ! et on y verra beaucoup plus clair !!!

    mais tu fais n'importe quoi : on dirait mon petit neveu qui fouille dans ma boîte à outil, et prend mon voltmètre, ou mon niveau à bulle, pour un marteau !

    LIS les cours !

    Citation Envoyé par Flodelarab
    Tu as cherché la m...., tu es dedans. Bravo. Bien fait.
    c'est sympa d'avoir un bon copain comme Flodelarab.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  10. #10
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    et bien merci de vos réponses, je vais donc me débrouiller tout seul
    bonne soirée

  11. #11
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    fonctionne très bien malgré le ) du chemin (écrit sous la forme \) d'ailleurs)
    C'est normal. Cela dépend du nombre de fois que l'expression est interprétée. Chaque fois qu'il y a une phase d'interprétation, il faudrait que la parenthèse soit protégée.

    c'est sympa d'avoir un bon copain comme Flodelarab.
    Je ne peux pas faire plus premier degré pour dissuader de faire des choses comme ça.
    En plus, tout fichier ou dossier commençant par un espace ou un point d'exclamation sera devant les fichiers ou dossiers commençant par ")".

    si je dois supprimer les ) des paths de mon disque dur, cela va me prendre du temps
    Nonnnnn. Une commande.

    , du reste je n'ai pas réussi à afficher cela ligne par ligne,
    C'est normal, il n'y a qu'une ligne.
    Rien ne s'est affiché ? Cela veut dire que la variable $PATH est vide.

    Il est important de savoir sur quoi travaillent les commandes.
    echo travaille sur une chaine de caractère.
    cat travaille sur un fichier.
    less travaille sur un fichier.

    Quand tu utilises "cat" ou "less" pour une chaine de caractères, cela n'est pas cohérent.
    Bash va chercher le fichier qui porte le nom contenu dans $PATH. Évidemment, ça ne fonctionne pas.

    je ne comprend pas bien comment modifier le $PATH
    Comme n'importe quelle variable.
    La difficulté est qu'il faut compléter le $PATH et non le remplacer.
    toto=premier définit.
    toto=second redéfinit.
    toto="${toto} et troisième" complète.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $ echo "$toto"
    second et troisième
    Donc
    d'ailleurs j'ai toujours eu le même problème pour modifier durablement le $PS1
    Comme on l'a dit pour les alias, les changements sont temporaires. À moins de le mettre dans le fichier de démarrage.
    C'est pareil pour les alias, PS1, PATH ...
    Tu pourrais avoir 2 lignes dans ton .bashrc (ou équivalent) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    export PS1="[\t \w]$ "
    export PATH=$PATH:.:/Users/moi/bin

  12. #12
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Je ne peux pas faire plus premier degré pour dissuader de faire des choses comme ça.
    En plus, tout fichier ou dossier commençant par un espace ou un point d'exclamation sera devant les fichiers ou dossiers commençant par ")".
    Ce que je veux dire, c'est que en dehors de Bash, j'ai aussi de multiples travaux à faire. Et pour ces travaux, quand je navigue dans le Finder, depuis dix ans j'ai mes dosiers importants qui apparaissent en haut grâce à l'astuce de faire commencer leur nom par )
    Donc, changer cela, ce n'est pas appliquer une commande, c'est changer dix ans d'habitude.
    Voilà pour clore cette histoire de parenthèse.

    Merci de la précision pour echo, cat et less.

    Pour PS1 j'ai fini par comprendre tout seul hier soir après pas mal de temps, j'ai mis ma méthode sur mon blog personnel, paragraphe 12.3.

    voici l'extrait.
    Il faut modifier /etc/bashrc :

    par défaut il a les droits -rwxr-xr-x=755, lui faire donc sudo chmod 777 bashrc ;

    faire vi bashrc et modifier la valeur de PS1 ;

    faire source bashrc pour rendre le changement durable ;

    remettre les droits d'avant on ne sait jamais : sudo chmod 755 bashrc.
    Ne lisez pas l'extrait et ne cliquez pas non plus sur le lien, c'est un truc d'amateur (qui fait ce qu'il peut avec le temps qu'il a), et vous, vous êtes dans une optique RTFM, moi dans une optique FRTFM :-)

    d'ailleurs dans l'extrait je n'ai pas mis d'export il faudra que je le rajoute ; je n'ai pas encore redémarré l'ordinateur et pour le moment, quand j'ouvre une nouvelle fenêtre Terminal, le PS1 est comme je veux.

    ok, je rajouterai dans le bashrc la ligne que tu indiques sur PATH. Du coup, ma logique est la suivante, mais puisque certains la considèrent comme enfantine, je préfère la poser ici pour être sûr. Un outil qui marche bien vaut bien quelques railleries sans lendemain, on n'a rien sans rien et on ne fréquente pas les geeks sans risque pour l'ego lol.

    donc : je me rajoute dans le $PATH un dossier que je veux où je vais mettre mes programmes bash. Est-ce-que c'est mieux de prendre comme dossier "perso" /usr/local/bin/mondossier ou est-ce que c'est mieux de prendre ~/ici/mondossier ?

  13. #13
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    Est-ce-que c'est mieux de prendre comme dossier "perso" /usr/local/bin/mondossier ou est-ce que c'est mieux de prendre ~/ici/mondossier ?
    Tu fais comme tu veux.
    Personnellement, les scripts "Faits-maison" sont dans $HOME/bin/, un dossier que j'ai créé.

    faire source bashrc pour rendre le changement durable ;
    Hum. C'est exactement le contraire.
    A partir du moment où tu as entré ta modification dans le .bashrc et enregistrer, le changement est durable.
    Mais comme ce fichier est lu et exécuté au démarrage, cette modification ne se verra qu'au démarrage.
    Donc le conseil de 'source'r le fichier est pour les petits impatients.

    Si tu as tapé ton "alias ...=..." et que tu l'as écrit dans ton .bashrc, il n'y a aucune raison de faire source.
    Dans ce cas précis, source ne sert qu'à simuler un démarrage.

    par défaut il a les droits -rwxr-xr-x=755, lui faire donc sudo chmod 777 bashrc ;
    Dans quel but permets-tu à des inconnus de modifier ton fichier .bashrc ?

  14. #14
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    Citation Envoyé par Flodelarab Voir le message
    Dans quel but permets-tu à des inconnus de modifier ton fichier .bashrc ?
    tu veux peut être me dire que cela aurait eu davantage de sens de mettre 775 ?
    j'avais hésité, manquant un peu de clarté sur les trois "utilisateurs" concernés par chacun des chiffres...

    Vincent

  15. #15
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Bonjour,

    j'ai lu (assez rapidement) les messages.

    Je suis sur mac depuis, euh... depuis qu'il y a des macs
    Et sous un clone UN*X, depuis, euh... depuis la sortie de la NeXT (après quelques années sous BSD).

    Donc, je confirme que le fichier de démarrage à modifier est bien ~/.bash_profile

    Une fois modifié, il y a plusieurs manières de prendre en compte les modifications:

    1) pour tester s'il n'y a pas d'erreur, il suffit de taper source ~/.bash_profile, ce qui demande au shell qui tourne dans la fenêtre Terminal courante de réinterpréter le fichier.

    2) il suffit aussi de taper cmd-T, ce qui demande au Terminal de créer un nouvel onglet avec un tout nouveau shell qui va automatiquement interpréter la nouvelle version de ~/.bash_profile, mais le shell de l'onglet précédent ne sera pas à jour.

    3) on peut aussi quitter le Terminal et le relancer ou bien carrément quitter la session (cmd-shift-Q) ou bien, pourquoi pas, rebooter le mac ou en acheter un nouveau et utiliser l'assistant migration, mais ce n'est pas vraiment vraiment indispensable...

    Sinon où en es-tu à présent? Tout fonctionne?

    PS: pour afficher le PATH de manière "humainement lisible", je te conseille echo "$path" | tr ":" "\0012" que j'utilise depuis de nombreuses années.

  16. #16
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 664
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 664
    Par défaut
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "${PATH//:/$'\n'}"
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  17. #17
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 103
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    Code bash : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "${PATH//:/$'\n'}"
    Effectivement, ça marche bien en bash, voire en sh...

    Ça marche un peu moins bien en csh...
    C'est peut-être pour ça que la commande que j'utilise est echo "$*" | tr " :" "\012\012", un reste du temps où je l'utilisais en csh, appliquable à $PATH ou $path (en espérant qu'aucun chemin ne contienne d'espace)

  18. #18
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    merci à vous
    ça marche...
    je vois comment afficher bien le $PATH, comment le modifier en lui rajoutant des choses dans ~/.bash_profile

    je vois que tout nouveau programme placé dans un dossier connu par le $PATH pourra (après chmod +x) être exécuté par programme.bash sans avoir à mettre ./ devant.. Bon, est-ce le seul intérêt ?....

    je sais modifier mon PS1 de manière durable

    j'ai compris que source c'est pour rendre immédiat dans l'actuelle fenêtre du terminal un changement qui de toute façon sera effectif dans toute nouvelle fenêtre du terminal

    j'ai perdu de vue l'intérêt de la commande export

    maintenant, après avoir passé du temps sur tout ça, j'ai un peu perdu le fil de ma recherche initiale, qui était, si j'ai un programme truc.bash quelque part sur mon disque dur : comment créer une commande machin qui appellera truc.bash

    parce que mes tentatives ne marchent jamais...

  19. #19
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 293
    Par défaut
    j'ai compris que source c'est pour rendre immédiat dans l'actuelle fenêtre du terminal un changement qui de toute façon sera effectif dans toute nouvelle fenêtre du terminal
    source est surtout pour morceler un programme en plusieurs fichiers. Mais comme la commande lit et exécute le-dit fichier sourcé, tu obtiens ton comportement attendu.

    j'ai perdu de vue l'intérêt de la commande export
    si j'ai un programme truc.bash quelque part sur mon disque dur : comment créer une commande machin qui appellera truc.bash
    • Soit tu mets le chemin complet et tu n'as besoin de rien d'autre.
    • Soit tu ne mets pas le chemin (relatif ou absolu), et il faut que l'exécutable soit dans un des dossiers du $PATH.

    Il n'y aura pas de miracle.

    j'ai un peu perdu le fil de ma recherche initiale
    Même question, même réponse.
    Relis-les.

    parce que mes tentatives ne marchent jamais...
    Quel est le message d'erreur ?

  20. #20
    Membre éclairé
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2010
    Messages
    415
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2010
    Messages : 415
    Par défaut
    bon alors
    - pour la commande export, je n'ai pas compris ce que le man dit, mais j'ai trouvé dans qwant ceci https://forum.ubuntu-fr.org/viewtopic.php?id=334687 qui cependant ne m'a pas éclairé, quant à mon usage actuel, pourquoi dans ~/.bash_profile faut-il faire et non pas tout court

    - pour les commande,s ok c'est clair pour moi, j'ai mis le dossier /Users/moi/ici dans le $PATH, et j'ai mis un programme truc.bash dans ce dossier, et maintenant, quel que soit le pwd il me suffit de faire truc.bash pour exécuter mon programme.

    - si je crée une variable ab=truc.bash pour ne pas avoir à taper truc.bash mais seulement ab, ça marche.

    je pense que grosso modo vous m'avez aidé à comprendre et pour le moment ça me va, merci à vous en tous cas de votre patience.

Discussions similaires

  1. Créer une commande pour les définitions
    Par Frednight dans le forum Débuter
    Réponses: 2
    Dernier message: 03/10/2012, 13h03
  2. Créer une commande identique à \author
    Par ToTo13 dans le forum Débuter
    Réponses: 4
    Dernier message: 16/10/2009, 15h14
  3. Créer une commande du genre \@title ou \@author
    Par Ladgalen dans le forum Programmation (La)TeX avancée
    Réponses: 6
    Dernier message: 01/10/2009, 14h39
  4. Script pour créer une commande de suppression de fichiers
    Par romain.1105 dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 10/12/2006, 02h28
  5. Réponses: 11
    Dernier message: 30/08/2005, 10h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo