Bonjour ou bonsoir à toutes et à tous.
Voila je n'ai pas vraiment de problème mais plutôt une simple question.
J'aimerais savoir pourquoi lorsque j’exécute se code :
#!/bin/bash
a=1
while [ $a = 1 ]
do
read -p "Choisir parmi la pierre => P, la feuille => F et le ciseaux => C " choixJ
case "$choixJ" in
P ) choixJ='P'
a=0
;;
F ) choixJ='F'
a=0
;;
C ) choixJ='C' #Pourquoi choixJ ne peut pas être égale à P ? Pourquoi je
#ne peut pas utiliser choixJ ?
a=0
;;
* ) echo "Mauvais Choix"
esac
done
J'ai en sortie :
Sortie :
Choisir parmi la pierre => P, la feuille => F et le ciseaux => C P
./beta-v2-j-vs-pc.sh: ligne 11: P=P : commande introuvable
Le pc a choisi => C
égalité
Bien sur pour régler le problème j'ai modifié le code comme ceci :
#!/bin/bash
a=1
while [ $a = 1 ]
do
read -p "Choisir parmis la pierre => P, la feuille => F et le cisaux => C " choixJ
case "$choixJ" in
P ) choixJL='P'
a=0
;;
F ) choixJL='F'
a=0
;;
C ) choixJL='C'
a=0
;;
* ) echo "Mauvais Choix"
esac
done
Voila j’espère que ma question est claire/compressible :)
Bonne soirée a vous tous !! •ᴗ•
# parce que...
Posté par NeoX . Évalué à 3. Dernière modification le 13 février 2020 à 20:25.
tu demandes au jouer de choisir une lettre (P F C)
tu stockes le résultat dans choixJ
puis tu testes choixJ (la ligne case)
pour affecter la valeur du choix du joueur à choixJ
ton programme pourrait être simplifié
[^] # Re: parce que...
Posté par mat311111 . Évalué à 1.
Merci pour l'explication et au passage merci pour la simplification !
Je comprends mieux maintenant.
# ?
Posté par Julien_J06 . Évalué à 0.
Hello,
Tu demandes si ta question est compréhensible mais je ne vois même pas pointer le début d'un point d'interrogation ;-)
Je penses que tu devrais mieux décrire ce que tu attends et reformuler ta question :-)
Julien_c'est_bien (y'a pas que Seb)
# le code ne correspond pas l'exécution
Posté par goeb . Évalué à 2. Dernière modification le 13 février 2020 à 21:52.
Je ne reproduis pas l'erreur.
Et ton code ne correspond pas à ton exécution.
Tu n'as pas donné le code qui permet de produire l'erreur.
[^] # Re: le code ne correspond pas l'exécution
Posté par mat311111 . Évalué à 1. Dernière modification le 14 février 2020 à 09:15.
Re Bonjour;
Voici le code mais je viens de le re tester et je n'ai plus l'erreur.. 🤨
[^] # Re: le code ne correspond pas l'exécution
Posté par Benoît Sibaud (site web personnel) . Évalué à 5.
Des outils pour l'amélioration du code :
[^] # Re: le code ne correspond pas l'exécution
Posté par zipe31 . Évalué à 2.
Salut,
Je ne comprends pas l'intérêt de ton 1er case…esac et de réaffecter la variable "$choixJ", puisque celle-ci contient déjà la bonne valeur ;-\
Tu as juste besoin de changer la valeur de la variable $a avec un test unique (P|F|C)…
[^] # Re: le code ne correspond pas l'exécution
Posté par deuzene (site web personnel) . Évalué à 4.
Je prends juste ce bout de code et je suppose que le joueur entre P :
À la première ligne (read -p), la variable
$choixJ
reçoit donc la valeur "P" ;La troisième ligne peut se lire :
Si $choixJ = "P", alors $choixJ reçoit la valeur "P"
!!!!!Là est l'illogisme dans ton script.
« Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes. »
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.