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 :

Créer un alias sur plusieurs lignes


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut Créer un alias sur plusieurs lignes
    Bonjour

    Je voudrais savoir s'il est possible de créer un alias sur plusieurs lignes ?

    Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    build_kernel="cd /usr/src/sys/arch/`machine -a`/conf && sudo /usr/sbin/config $KERNEL && cd /usr/src/sys/arch/`machine -a`/compile/$KERNEL && sudo /usr/bin/make clean && sudo /usr/bin/make depend && sudo /usr/bin/make && sudo /usr/bin/make install && sudo /sbin/reboot"
    Coté présentation, ce n'est pas très lisible, peut-on insérer des retours à la ligne pour corriger cela ?

    Merci d'avance

  2. #2
    Membre émérite Avatar de BlaireauOne
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    492
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2007
    Messages : 492
    Par défaut
    En présence de plusieurs commandes, tu peux avantageusement utiliser une fonction au lieu d'un alias.
    Comme l'alias, tu définis ta fonction dans ton .bashrc

    Dans l'exemple ci-dessous, tu pourras appeler ta fonction avec 2 arguments : build_kernel machine KERNEL


    Fonction dans ton .bashrc :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    function build_kernel()
    {
            echo "+ Machine : $1 - Kernel : $2"
            cd /usr/src/sys/arch/$1/conf && \
            sudo /usr/sbin/config $2 &&  \
            cd /usr/src/sys/arch/$1/compile/$2 &&  \
            sudo /usr/bin/make clean &&  \
            sudo /usr/bin/make depend &&  \
            sudo /usr/bin/make &&  \
            sudo /usr/bin/make install &&  \
            sudo /sbin/reboot
    }

  3. #3
    Membre expérimenté

    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Juillet 2004
    Messages
    2 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 756
    Par défaut
    Au départ, j'avais adopté la solution d'utiliser des fonctions. Je pensais qu'il était possible de faire tenir plusieurs commandes dans un alias sur plusieurs lignes.

    Merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Créer une accolade verticale sur plusieure ligne
    Par Grizzly20 dans le forum Mathématiques - Sciences
    Réponses: 11
    Dernier message: 13/06/2008, 16h30
  2. Réponses: 2
    Dernier message: 23/09/2007, 21h11
  3. Réponses: 1
    Dernier message: 28/05/2007, 18h23
  4. TDBGrid - Un enregistrement sur plusieurs lignes
    Par BRODU dans le forum Bases de données
    Réponses: 2
    Dernier message: 09/05/2004, 07h53
  5. Define sur plusieurs lignes
    Par Gogoye dans le forum C
    Réponses: 6
    Dernier message: 06/10/2003, 11h45

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