Il y a actuellement 336 visiteurs
Mardi 28 Avril 2026
accueilactualitésdossierscomparer les prixtélécharger gratuitement vos logicielsoffres d'emploiforum informatique
Connexion
Créer un compte

[Réglé]problème script bash

L'informatique, ce n'est pas qu'un PC équipé de Windows. Ce forum est dédié aux utilisateurs de systèmes d'exploitation dérivés d'unix (GNU/Linux, *BSD, etc...) et aux autres OS alternatifs.

[Réglé]problème script bash

Message le 16 Jan 2013 11:48

bonjour , :D

je suis sous debian squeeze et je suis entrain de faire un script pour lancer des jeux "ifiction-interactive" voir ici http://ifiction.free.fr/ pour savoir ce qu'est un jeu "ifiction"

et je bloque sur ce bout de code de mon script:
Code: Tout sélectionner
#!/bin/sh

...

echo -n "Entres,ici,le Chiffre correspondant au jeu que tu as souhaité (Jeu 'Aventure' par défaut) : ""$CYAN"

read jeu

if [ "$jeu" = "" ]; then
  gargoyle "01"*

elif [ "$jeu" = "0"* ] || [ "$jeu" = "1"* ] || [ "$jeu" = "2"* ] || [ "$jeu" = "3"* ] || [ "$jeu" = "4"* ] || [ "$jeu" = "5"* ] || [ "$jeu" = "6"* ] || [ "$jeu" = "7"* ]; then
  gargoyle "$jeu"*

else
  echo ""
  echo "$NORMAL""...Tu es 'MORT'...tes doigts ont dérapé sur le clavier et en t'enervant,"
  echo "tu as fait une attaque cardiaque!!..."
  echo ""
  echo "...Attends ça redemarre dans quelques secondes..."
  echo "...À tout de suite..."
sleep 7
/root/.Jeux-Texte/ifiction

fi

...


je laisse votre intelligence comprendre le fonctionnement de ce bout de code...ainsi que son problème :roll:
je montre la voie:
-la ligne "elif" pose problème,le ="0"* et les suivants ne sont pas valides
Avatar de l'utilisateur
deimos
Sous Expert(e)
Sous Expert(e)
 
Messages: 68
Inscription: 16 Jan 2013 11:27
 


Re: problème script bash

Message le 16 Jan 2013 16:19

Pas trop de temps de tester mais qqchose me choque là.
La syntaxe d'un if (elif, else) c'est if [ condition ] ... hors dans les cas multiples de test toi tu mets if [ condition ] || [ condition ] etc...

Donc je pense qu'il faut simplement remplacer :
Code: Tout sélectionner
elif [ "$jeu" = "0"* ] || [ "$jeu" = "1"* ] || [ "$jeu" = "2"* ] || [ "$jeu" = "3"* .....

par
Code: Tout sélectionner
elif [ "$jeu" = "0"* || "$jeu" = "1"* || "$jeu" = "2"* || "$jeu" = "3"* .... ]


ps : tu lances un script utilisateur en root (dans /root/ ) ? huuu
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 9083
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron, perle de Provence... et jamais loin d'une Debian
 

Re: problème script bash

Message le 16 Jan 2013 20:55

bonsoir, :D

merci d'avoir répondu mais ca marche pas!!

en attendant je fonctionne ainsi:
Code: Tout sélectionner
#!/bin/sh
...
echo -n "Entres,ici,le Chiffre correspondant au jeu que tu as souhaité (Jeu 'Aventure' par défaut) : ""$CYAN"

read jeu
                                 
if [ "$jeu" = "" ]; then
  gargoyle "01"*

else
  gargoyle "$jeu"*
         
fi
...


mais je voudrais que lorsque une réponse n'est pas ... "prévu" ...par le script ,un message s' affiche
Dans le cas ci-dessus,si j'entre une réponse "non-prévu" le terminal se ferme et c'est tout...

enfaite:

--question--réponse (soit "enter" ,soit un chiffre commençant par "0","1"...etc...ou "7" ,soit "autre chose" )
si "rép" = ENTER alors
lancement de l'interpreteur "gargoyle" avec le Jeu par défaut ,ici:"01-Aventure"

et si "rép" = un chiffre commençant par "0","1"...etc...ou "7" alors
lancement de l'interpreteur avec un jeu dont le nom commence par "01","02,"...etc...ou "79"

sinon ou si "autre chose"
messsage quelquonque

ca doit venir de la syntaxe en bleu
elif [ "$jeu" = "0"* ]

ps: je suis en root constemment ,c'est plus pratique pour les manipulation...
ps2:excuse moi,après relecture de mon post ,tu as peut-etre mal pris mon expression...désolé ce n'était pas voulu... :oops:
...je l'ai modifié...
Avatar de l'utilisateur
deimos
Sous Expert(e)
Sous Expert(e)
 
Messages: 68
Inscription: 16 Jan 2013 11:27
 

Re: problème script bash

Message le 17 Jan 2013 08:38

J'ai fait un simple test avec ceci :
Code: Tout sélectionner
#!/bin/sh

echo -n "Entres,ici,le Chiffre correspondant au jeu que tu as souhaité (Jeu 'Aventure' par défaut) : ""$CYAN"

read jeu

if [ "$jeu" = "" ]; then
  echo "je trouve rien"
elif [ "$jeu" -ge "00" ] && [ "$jeu" -le "79" ]; then
  echo "je trouve un autre jeu"
  echo $jeu
else
  echo "je suis embete avec ce chiffre..."
  echo $jeu
fi

Ca marche très bien...
Ce sont tes "étoiles" (*) qui n'ont rien à faire là.
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 9083
Inscription: 13 Mai 2003 16:32
Localisation: Sisteron, perle de Provence... et jamais loin d'une Debian
 

Re: problème script bash

Message le 17 Jan 2013 09:00

bonjour CaSa :D

je vais voir adapter ta suite de commande...
sinon,je mets des étoiles parce que les noms des jeux sont comme-ça dans le dossier "jeux": "03-Le temple de feu.z5" et donc je mets un "*" pour n'avoir besoin que de rentrer le chiffre et non-pas tous le nom du jeu...

sinon je vais voir de suite ,adapter tes commandes...

Ca marche!!!

merci CaSa :D

je ne connaissais pas "-ge" et "-le" ,il faut dire que je n'ai pas lu le manuel non plus,

et bien c'est resolu.... :D

merci encore...

@+

...
Avatar de l'utilisateur
deimos
Sous Expert(e)
Sous Expert(e)
 
Messages: 68
Inscription: 16 Jan 2013 11:27
 



Sujets similaires

Message [Réglé] problème de pilote lors d'une vidéo
EinsteinZero a écrit:Bonjourtout d'abord pour le pilote, la méthode la plus simple: (au préalable si tu peux repéré ta carte graphique c'est mieux)> vas sur le site AMD. ici > https://www.amd.com/fr/support/download/drivers.html> Utilises l?outil de détection automatique. (connaissant ta ca ...
Réponses: 8

Message [Réglé] yahoo
Bonjour,Depuis quelques temps lorsque je me connecte a mon yahoomail, je suis obligé de cliquer sur une sorte de message sur mon tel pour dire oui.C'est agaçant de faire ça a chaque fois, est-il possible d'annuler cette manœuvre svp.Cdt
Réponses: 5

Message Besoin d'aide, problème avec mon pc
Bonsoir et bienvenue Finks J'ai récemment acheté un nouveau pc, il y a une semaine environ.? Chez qui ? ça pourrait nous aider. ? Est-ce qu'il te serait possible de le retourner, éventuellement ?Fais savoir En cas de problème constaté sur un sujet, contactez un modérateur par MP svp. N'intervenez p ...
Réponses: 6

Message [Réglé] Remplacement chargeur
Salut la team PC-infopratique,Comment allez vous ?J'ai un petit souci avec mon PC portable qui a maintenant 3 ans.Il y a un faux contact au niveau du chargeur, et je pense que ça se joue au niveau de la connectique derrière le PC.Depuis pas mal de temps j'ai ce faux contact et en fonction de comment ...
Réponses: 3

Message [Réglé] Connexion wifi impossible mais ethernet OK
Bonjour.Le titre dit déjà tout mais pour les détails :Je suis connecté en ethernet et impossible de me connecter au même réseau en wifi alors le SSID est bien détecté.La carte wifi : Qualcomm FastConnect 7800 Wi-Fi 7 High Band Simultaneous (HBS) Network Adaptater.Ce que j'ai déjà essayé, quasi tout ...
Réponses: 26

Message [Réglé] Se débarasser de Windows 7 avec Google Workspace.
Salut C'est arrivé Dimanche 15, avec les élections ! Tu ouvres Gmail et hop ! nawak !Pas du tout content, le Pac, d'autant que le Renard Allumé est tenu scrupuleusement à jour ... Je clique sur "En savoir plus" et j'essaie tous les navigateurs avec le même résultat. ? et devinez ? ...
Réponses: 10

Message [Réglé] mise a jour impossible Windows 11 version 24H2
Salut tout le monde J'ai un pc portable Asus ROG GL752VW-T4005T il était par défaut sur Windows 10 64 bits depuis l'achat en 2015 suite à une astuce connue j'ai réussi à le faire migrer sur Windows 11 pour plus de détails précis voir mes captures écran ci jointes?.. https://zupimages.net/up/26/12 ...
Réponses: 12


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités


.: Nous contacter :: Flux RSS :: Données personnelles :.