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 :

[bash] Création de fonction avec arguments.


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut [bash] Création de fonction avec arguments.
    Bonjour à tous

    Une grosse épine dans le pied, je fais actuellement des tp sur la programmation en batch sur linux.
    Et voici un énoncé auquel je ne comprends rien mais alors rien du tout.
    J'ai du le lire et le décortiquer des heures durant mais rien !!!!
    Alors quelqu'un ou quelqu'une pourra peut-être m'aider à résoudre le mystère.
    Bien à vous les amis et en vous remerciant d avance .

    Voici le tp :
    Ecrivez une fonction logger prenant 2 paramètres et écrivant en fonction du premier paramètre, le second dans la console en couleur.
    Le premier paramètre prend deux valeurs: INFO qui affichera du vert, ou ERREUR qui affichera du rouge.

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    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 347
    Par défaut
    Bonjour et bienvenue,

    Que ne comprends tu pas dans l'énoncé ?

    Le but est de créer une fonction qui:
    • Prend 2 arguments
    • Le premier ne peut avoir que 2 valeurs ( INFO ou ERREUR)
    • Elle doit afficher le 2ème arguments en rouge si le premier est ERREUR ou en vert si le PREMIER est INFO

    Donc, tu dois faire une fonction qui controle qu'elle a bien 2 et seulement 2 arguments en entrée, que le premier argument est soit "INFO" soit "ERREUR" et si tout ça est ok, afficher le second de la couleur qu'il faut.

    Donc, tu as besoin de savoir tester un nombre d'arguments, tester la valeur d'une chaine pour un choix, et afficher une chaine de caractère en vert ou en rouge puis rétablir la couleur par défaut.
    Et aussi que doit faire la fonction si les arguments en entrée ne respecte pas les règles...

    Un bout de code est aussi le bienvenue, si tu veux de l'aide mais dis toi qu'ici, personne ne fera ton exercice à ta place, par contre on peut t'aider à résoudre ce que tu ne comprends pas.

  3. #3
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut
    pour commencer merci pour ta réponse disedorgue
    cela m a enormement aider dans la compréhension de l exercice.
    je débute en programmation et rien ne vaut de la vulgarisation
    qui puissse me permettre de comprendre ce qu'il y a a faire.
    aussi un grand merci.

    voici ce que j'ai tenter mais ca ne marche pas
    sans la boucle conditionnel while j arrive a avoir info et erreur dans leur couleur respective

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    var1= info erreur
    var2=$1
     
    while  [ var2 != "info" ] && [ var 2 != "erreur" ]
    do
    echo "c'est n 'est pas bon" 
     
    done 
     
    if [ var1="info" ]
    then 
    echo -e "\033[32minfo\033[0m"
    fi
     
    if [ var1="erreur" ]
    then 
    echo -e "\033[31merreur\033[0m"
    fi
    pensez vous que je sois sur la bonne voie

    bien a vous les amis

  4. #4
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut
    je n ai pas mis
    la structure de la fonction
    car pour le moment j essaie de tester sur le shell
    mes differentes tentatives

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

    Informations forums :
    Inscription : Février 2008
    Messages : 7 655
    Par défaut
    la syntaxe de ton script n'est pas cohérente.

    pourquoi ne pas faire des tests dans le terminal ? en commençant simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $ var="etc..."
    $ echo var
    var
    $ echo "$var"
    etc...
    et, on écrit un algorithme, ensuite on écrit le code.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre averti
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2016
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 32
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2016
    Messages : 16
    Par défaut
    pourquoi est ce que le deuxieme bloc d'instruction
    elif n est pas pris en compte , il ne me retourne que des erreur en rouge
    j 'ai ma boucle qui recommence si on ne rentre pas info ni erreur
    mais pas d'affichage de info si je rentre erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    read -p  'info ou erreur :' var1
     
    while  [ $var1 != "info" ] &&  [ $var2 != "erreur" ]
    do
    read -p 'info ou erreur: ' var1
    done 
     
    if [ var1="erreur" ]  
    then
    echo  -e "\033[31merreur\033[0m"
     
    elif [ var1="info" ]
    then 
    echo -e "\033[32minfo\033[0m"
     
    fi

Discussions similaires

  1. Réponses: 4
    Dernier message: 09/03/2014, 09h38
  2. Création fonction avec argument dans une classe
    Par Général03 dans le forum Windows Forms
    Réponses: 8
    Dernier message: 30/06/2009, 09h57
  3. onChange et fonction avec arguments
    Par pierre.egaud dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/06/2006, 11h02
  4. DLL export de fonction avec argument
    Par slate dans le forum C
    Réponses: 3
    Dernier message: 31/05/2006, 10h36
  5. creer une fonction avec arguments
    Par niglo dans le forum ASP
    Réponses: 3
    Dernier message: 03/06/2005, 08h04

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