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 :

case/esac toujours choix "autre" (*)


Sujet :

Shell et commandes POSIX

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Points : 67
    Points
    67
    Par défaut case/esac toujours choix "autre" (*)
    Bonsoir/jour

    J'aimerai avoir une petite aide concernant mon scripts et des choix, j'ai surement du merdé quelque part puisque je suis très loin d'être un dieu du scripts au contraire même... lorsque je fais un choix (peut importe lequel)

    J'ai toujours ce message d'erreur "invalide option" comment puis-je résoudre ceci?


    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    #!/bin/bash 
     
    ##########################################################################################################
     
    #test sélection du choix 
     
    {
      PS3=' "Fais ton choix hobbit" : '
    options=("Renommer Machine" "Créer compte formation" "Supprimer Compte formation" "sortir")
    select opt in "${options[@]}"
    do
        case $opt in
            "Option 1")
                read -p "1" echo "CHOIX 1"
                ;;
            "Option 2")
                echo "CHOIX 2"
                ;;
            "Option 3")
               echo "CHOIX 3"
                ;;
    	"Option 3")
               echo "CHOIX 4"
                ;;
            "Option 4")
    	    echo "you chose choice $REPLY which is $opt"
                break
                ;;
            *) echo "invalid option $REPLY";;
            *) echo "invalid option $REPLY";;
        esac
    done
     
    }
    maFonction (){
     
    _HOSTNAME="MyLinux2"
    echo "$_HOSTNAME" > /etc/hostname
    echo "127.0.0.1   localhost" > /etc/hosts
    echo "127.0.1.1   ${_HOSTNAME}.localdomain   ${_HOSTNAME}" >> /etc/hosts
     
     
    #CréationUserUnskill 
     
    sudo adduser --disabled-login --gecos "" formation;echo -e "formation\nformation" | sudo passwd formation 
     
    _USER="formation" 
    if ! id -u "$formation" > /dev/null 2>1; then
         userdel -f $_USER
    fi 
     
    exit
     
    }
    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    EDIT en cherchant un peu j'ai pu corriger mon erreur, mais maintenant je me rends compte que lors de la sélection des choix, aucune commande ce lance...

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
     #!/bin/bash 
     
    ##########################################################################################################
     
    #test sélection du choix 
     
    {
      PS3=' "Fais ton choix hobbit" : '
    options=("Renommer Machine" "Créer compte formation" "Supprimer Compte formation" "sortir")
    select opt in "${options[@]}"
    do
        case $opt in
            "Renommer Machine")
                echo "ton choix $REPLY $opt"
                ;;
            "Créer compte formation")
                echo "ton choix $REPLY $opt"
                ;;
            "Supprimer Compte formation")
               echo "ton choix $REPLY $opt"
                ;;
    	"sortir")
               echo "ton choix $REPLY $opt"
                ;;
            "Option 4")
    	    echo "ton choix $REPLY $opt"
                break
                ;;
            *) echo "invalid option $REPLY";;
            *) echo "invalid option $REPLY";;
        esac
    done
     
    }
    maFonction (){
     
    _HOSTNAME="MyLinux2"
    echo "$_HOSTNAME" > /etc/hostname
    echo "127.0.0.1   localhost" > /etc/hosts
    echo "127.0.1.1   ${_HOSTNAME}.localdomain   ${_HOSTNAME}" >> /etc/hosts
     
     
    #CréationUserUnskill 
     
    sudo adduser --disabled-login --gecos "" formation;echo -e "formation\nformation" | sudo passwd formation 
     
    _USER="formation" 
    if ! id -u "$formation" > /dev/null 2>1; then
         userdel -f $_USER
    fi 
     
    exit
     
    }
    Comment puis-je résoudre ceci svp?

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 243
    Points : 13 458
    Points
    13 458
    Par défaut
    Bonjour

    Sans doute parce que tu réponds à la question alors qu'on te demande juste de taper 1, 2, 3 ou 4 ? Non ?
    Cette réponse vous apporte quelque chose ? Cliquez sur en bas à droite du message.

  4. #4
    Membre du Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Août 2018
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien réseau

    Informations forums :
    Inscription : Août 2018
    Messages : 56
    Points : 67
    Points
    67
    Par défaut
    Flodelarab;11658751]Bonjour

    Sans doute parce que tu réponds à la question alors qu'on te demande juste de taper 1, 2, 3 ou 4 ? Non ?
    Surement par rapport a la première question, bien que maintenant j'ai pu résoudre (je pense) ma problématique puisque j'ai pu "invalid option" mais une erreur lorsque je tape sur mes choix aucune commande ce lance

  5. #5
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 101
    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 101
    Points : 5 849
    Points
    5 849
    Par défaut
    Bonsoir,
    As-tu résolu ton problème ?

    Jfyi, le break de la ligne 27 fait sortir du case 12 et renvoie à la ligne 31 (comme les ";;" d'ailleurs), mais ne fait pas sortir de la boucle "select" qui recommence pour toujours en boucle (ou jusqu'au prochain Ctrl-C).

    Tu définis une fonction appelée "maFonction" qui n'est jamais appelée dans ton code, ce qui ne favorise guère son exécution.

    Ta fonction "maFonction" (même si elle était appelée) n'utilise pas la valeur de la variable "opt".
    Du coup, je me demande quel est le sens de demander à l'utilisateur de faire un choix si ce choix n'est pas pris en compte ?!?

    Citation Envoyé par kaillros Voir le message
    Surement par rapport a la première question, bien que maintenant j'ai pu résoudre (je pense) ma problématique puisque j'ai pu "invalid option" mais une erreur lorsque je tape sur mes choix aucune commande ce lance
    PS: afin de faciliter la lecture de ce genre d'explication, merci de mettre un peu plus de ponctuation.

Discussions similaires

  1. Rafraichissement page fonction choix d'une liste
    Par BUENOO dans le forum Django
    Réponses: 3
    Dernier message: 22/10/2012, 00h57
  2. [XL-2007] comment faire pour Formater cellule en fonction choix couleur
    Par chris09300 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/12/2011, 14h28
  3. [AC-2003] Liste Déroulante Fonction Choix Contrôle
    Par delcroixf dans le forum IHM
    Réponses: 3
    Dernier message: 21/10/2009, 18h45
  4. Fonction choix de lecteur video
    Par igi10 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/10/2007, 14h03
  5. [vb excel]Déclencher evenement en fonction choix combobox
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 28/11/2005, 12h06

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