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 GNU Discussion :

Script bash commande personnelle


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 294
    Par défaut Script bash commande personnelle
    Bonjour,

    Je voudrais faire une commande bash personnelle time
    qui m'appellerais un script bash situé dans un autre répertoire?

    Savez-vous comment faire?

    Le problème est que je souhaites faire un script bash que l'on puisse utiliser dans plusieurs répertoires.

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    il suffit que :
    • ton script soit dans le path (par exemple /usr/bin/)
    • qu'il soit executable bien sur
    • que time soit renomé par exemple en time.original


    une autre méthode (mais limitée à 1 utilisateur)
    • un alias dans le .bashrc ou le .profile de l'utilisateur nomé time
    • ce dernier lance une fonction elle meme écrite dans ce fichier

  3. #3
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par xavierdestev Voir le message
    Je voudrais faire une commande bash personnelle time
    qui m'appellerais un script bash situé dans un autre répertoire?
    "time" est un mot clef du shell, impossible de le renommer en time.original donc. Je ne pense pas non plus qu'il soit possible de définir un script ou une fonction qui le surcharge.

    Tu peux par contre créer un alias qui appellerait ton script à qui tu donnerais un autre nom.

    Si tu veux que cet alias soit défini pour tous les utilisateurs, il faut le mettre dans un fichier global (/etc/bash.bashrc, /etc/profile, ...).

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    294
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 294
    Par défaut
    Bonjour,

    Citation Envoyé par frp31
    une autre méthode (mais limitée à 1 utilisateur)

    un alias dans le .bashrc ou le .profile de l'utilisateur nomé time
    ce dernier lance une fonction elle meme écrite dans ce fichier
    -> Comment peut-on créer un alias dans le .bashrc?

  5. #5
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #[...]
    tafonction ()
    {
    # ton code ici
    }
     
    alias commande='tafonction'
    PS:si time est une commande sur certains systèmes & distros
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ whereis time
    /usr/bin/time
    $ ls -l /usr/bin/time
    -r-xr-xr-x  1 root  bin  10192 Jul 30 19:53 /usr/bin/time
    $

  6. #6
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Citation Envoyé par frp31 Voir le message
    PS:si time est une commande sur certains systèmes & distros
    C'est vrai, mais la question précise bash avec lequel on ne peut pas surcharger un mot clef, sauf bien sûr en donnant un chemin absolu ou relatif vers la commande externe.
    En revanche, avec dash, c'est bien /usr/bin/time qui est exécuté.

  7. #7
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    Bonjour,
    A ce propos, quelqu'un aurait une idée du pourquoi en bash, c'est un mot clé et non pas une builtin (ou comme on semble dire en français une primitive) ?
    Car si cela avait été une builtin, on aurait pu la désactiver...

  8. #8
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    Citation Envoyé par jlliagre Voir le message
    C'est vrai, mais la question précise bash avec lequel on ne peut pas surcharger un mot clef, sauf bien sûr en donnant un chemin absolu ou relatif vers la commande externe.
    En revanche, avec dash, c'est bien /usr/bin/time qui est exécuté.
    bien vu

Discussions similaires

  1. Script Bash commande sed non prise en compte
    Par wesswessa dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 16/10/2013, 14h21
  2. exécuter des commandes complexes dans un script bash
    Par YuGiOhJCJ dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 24/10/2012, 09h15
  3. [script BASH] commande "java": "Unsupported major.minor version 49.0"
    Par getrude dans le forum Débuter avec Java
    Réponses: 6
    Dernier message: 07/06/2012, 14h32
  4. [Script bash] Résultat de commande
    Par Superne0 dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 23/02/2012, 14h39
  5. Scripts BASH & commande Find
    Par GoodWear dans le forum Administration système
    Réponses: 2
    Dernier message: 09/10/2009, 09h25

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