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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  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

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