Il y a actuellement 56 visiteurs
Vendredi 22 Juin 2018
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 12: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
pc portable LDLC Aurore BG3-B9-4-S9
Debian squeeze 6.0.6 -- gnome 2.30.2 -- 4gb de ram -- ssd 90go -- processeur Intel Pentium B980 (2.40 GHz - 2 Mo Cache) -- intel HD graphics
Avatar de l'utilisateur
deimos
Sous Expert(e)
Sous Expert(e)
 
Messages: 68
Inscription: 16 Jan 2013 12:27
 


Re: problème script bash

Message le 16 Jan 2013 17: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
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8917
Inscription: 13 Mai 2003 17:32
Localisation: A.H.P... et jamais loin d'une Debian
 

Re: problème script bash

Message le 16 Jan 2013 21: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é...
pc portable LDLC Aurore BG3-B9-4-S9
Debian squeeze 6.0.6 -- gnome 2.30.2 -- 4gb de ram -- ssd 90go -- processeur Intel Pentium B980 (2.40 GHz - 2 Mo Cache) -- intel HD graphics
Avatar de l'utilisateur
deimos
Sous Expert(e)
Sous Expert(e)
 
Messages: 68
Inscription: 16 Jan 2013 12:27
 

Re: problème script bash

Message le 17 Jan 2013 09: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à.
Libérez-vous : http://www.debian.org
Nobody knows what sysadmin does... until he stops doing it
Avatar de l'utilisateur
CaSa
PC-Infopraticien
PC-Infopraticien
 
Messages: 8917
Inscription: 13 Mai 2003 17:32
Localisation: A.H.P... et jamais loin d'une Debian
 

Re: problème script bash

Message le 17 Jan 2013 10: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...

@+

...
pc portable LDLC Aurore BG3-B9-4-S9
Debian squeeze 6.0.6 -- gnome 2.30.2 -- 4gb de ram -- ssd 90go -- processeur Intel Pentium B980 (2.40 GHz - 2 Mo Cache) -- intel HD graphics
Avatar de l'utilisateur
deimos
Sous Expert(e)
Sous Expert(e)
 
Messages: 68
Inscription: 16 Jan 2013 12:27
 



Sujets similaires

Message [Réglé] PC portable budget moyen
Bonjour,Je vous contact car plusieurs fois je suis venu vers vos conseils qui ont porter plusieurs fois leur fruits.Mon père souhaiterais acheter un ordinateur portable pour surfer sur internet, word, etc... Bureautique en règle générale.Les seuls choses qui voudrait c'est: Un SSD et un HDD de 1TO. ...
Réponses: 23

Message [réglé]ajouter un périphérique audio
Bonjour Voici ce que j'ai dans "son" via l'icône haut-parleur de la barre des tâches en cliquant droit dessus:https://www.cjoint.com/c/HFtrkLKbqkyEt voici ce que j'ai dans comme périphérique connecté: https://www.cjoint.com/c/HFtpl6S8DoyJe suis donc obligé à chaque fois soit de passer pa ...
Réponses: 7

Message Problème nuance PDF Create 8
Bonjour depuis quelque temps, dès que j'allume mon ordinateur une fenêtre se lance comme celle de la photo :https://cjoint.com/c/HFprD3VRzYBquoi que je fasse elle ne peut pas être fermé....je n'ai aucune idée d'où cela peut venir et qu'est-ce que c'est excatementmerci d'avance pour votre aide
Réponses: 14

Message Problème de magnétisation
Bonjour bonsoir,Après maintes recherches je me tourne vers vous afin d'obtenir des réponses a mon problème.Je pense avoir un problème de magnétisation et cela affecte je pense mon disque dur physique 3.5".Parfois il est inaccessible, non reconnu par le pc comme si il était déconnecté puis après ...
Réponses: 4

Message problème avec le groupe résidentiel
Bonjour,J'ai créée un réseau avec 4 pc sous Windows 10 dans un groupe résidentiel mais est-ce normal de pouvoir accéder uniquement du premier pc qui m'a permis de créer le groupe mais pas de le voir sur les autres pc ?Dans la partie "réseau", je ne vois que les "périphériques médias& ...
Réponses: 29

Message [Réglé] Dispositif d'accès aux dossier (window10)
Bonsoir, je ne peux plus effectuer de mise a jour Windows car des mises à jour de sécurité importante sont obsolètes ou manquantes. En fouillant un peu j'ai constaté que le service de détection des menaces s'est arrêté. Je ne peux pas le redémarrer car il faut d'abord activer le dispositif d'accès a ...
Réponses: 9


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité


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