Problème avec un case en Bash
Fermé
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
-
Modifié par all94 le 20/08/2013 à 10:57
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 10 sept. 2013 à 09:51
jivef Messages postés 927 Date d'inscription mercredi 11 août 2004 Statut Membre Dernière intervention 12 novembre 2020 - 10 sept. 2013 à 09:51
A voir également:
- Problème avec un case en Bash
- Aller à la ligne dans une case excel - Guide
- Minimal bash-like line editing is supported ✓ - Forum Linux / Unix
- Bash écrire dans un fichier - Forum Shell
- Case à cocher word ✓ - Forum Word
- Raccourci clavier case à cocher ✓ - Forum Excel
4 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 août 2013 à 12:19
20 août 2013 à 12:19
Salut,
Et c'est quoi le souci ???
Et c'est quoi le souci ???
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
5
20 août 2013 à 12:31
20 août 2013 à 12:31
Et bien le problème est qu'il prend pas justement en compte ce case et me redirige toujours vers la fonction install et aucune autres.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 août 2013 à 13:30
20 août 2013 à 13:30
A mon avis il y a un problème ailleurs parce qu'avec un copier coller de ton "case...esac" et juste des echo en plus, chez moi ça marche ;-(
Donc, oui, affiche l'intégralité de ton script.
Tu peux aussi rajouter un "set -x" en début pour déboguer ton script.
Donc, oui, affiche l'intégralité de ton script.
Tu peux aussi rajouter un "set -x" en début pour déboguer ton script.
jivef
Messages postés
927
Date d'inscription
mercredi 11 août 2004
Statut
Membre
Dernière intervention
12 novembre 2020
306
10 sept. 2013 à 09:51
10 sept. 2013 à 09:51
Totalement d'accord, je n'ai pas l'impression que le problème vienne du case, il me semble propre.
Le problème vient d'ailleurs.
Le problème vient d'ailleurs.
all94
Messages postés
77
Date d'inscription
mardi 15 mai 2012
Statut
Membre
Dernière intervention
25 février 2015
5
Modifié par all94 le 20/08/2013 à 13:43
Modifié par all94 le 20/08/2013 à 13:43
Bonjour,
voila le code source : Lien
Pour ce qui est du débugage, j'utilise la commande bash --debug <nom du fichier>.sh
Cordialement, all94
voila le code source : Lien
Pour ce qui est du débugage, j'utilise la commande bash --debug <nom du fichier>.sh
Cordialement, all94
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 août 2013 à 14:52
20 août 2013 à 14:52
if [ $1=ininstall ]
Ben déjà il faut des espaces autour du signe égale ;('
Ensuite il vaut mieux quoter tes variables pour des tests entre crochets simples (ce n'est pas obligatoire avec des crochets doubles).
if [! -f lgpl.txt]
Idem, il faut un espace avant et après les crochets !!!
A modifier pour tous tes tests ;-\
Ben déjà il faut des espaces autour du signe égale ;('
Ensuite il vaut mieux quoter tes variables pour des tests entre crochets simples (ce n'est pas obligatoire avec des crochets doubles).
if [ "$1" = "ininstall" ]
if [! -f lgpl.txt]
Idem, il faut un espace avant et après les crochets !!!
if [ ! -f lgpl.txt ]
A modifier pour tous tes tests ;-\
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 août 2013 à 15:51
20 août 2013 à 15:51
Pour ce qui est du débugage, j'utilise la commande bash --debug <nom du fichier>.sh
Et tu n'as rien vu passer ???
Et encore j'ai arrêté avant la fin ;-(
Et tu n'as rien vu passer ???
MC_P_Install.sh: ligne 351: [! : commande introuvable lgpl.txt: Aucun fichier ou dossier de ce type Missing filename ("less --help" for help) rm: impossible de supprimer «licencebyf2ko.txt»: Aucun fichier ou dossier de ce type MC_P_Install.sh: ligne 43: [! : commande introuvable MC_P_Install.sh: ligne 53: ./browse: Aucun fichier ou dossier de ce type MC_P_Install.sh: ligne 170 : [: launcher : opérateur unaire attendu
Et encore j'ai arrêté avant la fin ;-(
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 août 2013 à 13:41
20 août 2013 à 13:41
Avec ce script :
Ça donne ça :
$ cat foo.sh #! /bin/bash #clear while : do echo echo " _________________________________________________" echo " ! 1 - Lancer l'installation !" echo " ! 2 - Lire les licences et crédits !" echo " ! 3 - Quitter l'assistant !" echo " !________________________________________________!" echo read -p "> " choice case $choice in 1) echo "Choix install choisi." break ;; 2) echo "Choix licence inmenu choisi." break ;; 3) echo "Bye bye... quit choisi." break ;; *) echo "Mauvais choix... reload choisi." continue ;; esac done
Ça donne ça :