salut problème résolu
bash¸
bash
bash
Version imprimable
salut problème résolu
bash¸
bash
bash
Bonjour,
tu parles de quel type de tableau ?
quel langage veux-tu utiliser ?
où en es-tu du développement du script ?
Bonjour et bienvenu,
Tu es peut-être débutant dans le scripting, mais sauf si c'est quelqu'un qui a écrit ton post, tu sembles savoir lire et en général, pour commencer, on demande souvent aux débutants de réinventer la roue...
Donc un petit effort de ta part devrait te permettre de trouver toutes les réponses aux question que tu te poses ;)
je doute qu'il s'agisse de scripting tel qu'entendu sur Linux : "script shell".Citation:
ne pas utiliser une structure de type Switch/Case
Même si c'est du shell pur (ce qui est le cas ici, pas besoin de commande externe), ça reste du scripting :aie:
Bonjour :coucou:
On peut quand même l'aider à bien démarrer.
Pièce jointe 442674
Non, ne me remercie pas.
salut,
pour qu'on t'aide il faut nous montrer un début de code, c'est à la fois c'est plus concret pour tout le monde et ça montre aussi ton investissement à résoudre ton propre problème
au minimum tu devrais regarder du côté des tableaux associatifs en bash pour créer ta base d'étudiants, le reste des interactions (saisie utilisateur, affichage etc.) c'est très classique
et si tu pouvais au passage remettre ton post initial, on ne sait plus quelle est l'énoncé exact et accessoirement c'est pas très fair play (pour les futurs lecteurs potentiels de la discussion)
je ne suis toujours pas convaincu que cela soit à réaliser en shell :
le shell n'est pas réputé pour ses tableaux
il n'a pas de structure switch/case
On me pardonnera d'avoir buggé le code volontairement :)Code:
1
2
3 tab=$( ... ) for (( i=0 , i<${#tab[@]} , i++ )) , do if [ lecteurclavier == ${tab[$i]} ] , then echo "Trouvé à la position $i+1" , fi , done
Le complet mais très stricte vis à vis du type de donnée et pas de tableau associatif:
Code:
1
2
3
4
5
6 #!/bin/bash TAB=( Joanne Otello Flavia Leslie Marcel Gwyn Dudley Vito ) while read -p "saisir un nom:" XX && [ "$XX" != "NON" ] do [[ -n "$XX" && " ${TAB[@]} " =~ (.*)( "${XX// /}" ) ]] && { BOB=(${BASH_REMATCH[1]}) ; echo "Position:${#BOB[@]}" ; } || echo "Pas connaitre" done
en tant que modérateur, je suis tenté de supprimer cette réponse.
en tant qu'utilisateur, j':bravo: cette excellente réponse
:lahola:
Je ne pense pas que cela soit utile de la supprimer, car tout le monde n'est pas capable d'expliquer comment ça fonctionne...
Elle a aussi ces limites et faudra faire un effort pour les comprendre :aie:
Code:
1
2
3
4 $ while read -p "saisir un nom:" XX && [ "$XX" != "NON" ]; do [[ -n "$XX" && "${TAB[@]} " =~ (.*)($XX) ]] && { BOB=(${BASH_REMATCH[1]}) ; echo "Position:${#BOB[@]}" ; } || echo "Pas connaitre"; done saisir un nom:Marc Position:4 saisir un nom:NON
:hola: Pardon.
:dehors:Code:
1
2
3
4 $ while read -p "saisir un nom:" XX && [ "$XX" != "NON" ]; do [[ -n "$XX" && " ${TAB[@]} " =~ (.*)( $XX ) ]] && { BOB=(${BASH_REMATCH[1]}) ; echo "Position:${#BOB[@]}" ; } || echo "Pas connaitre"; done saisir un nom:Marcel Gwyn Position:4 saisir un nom:NON
C'est corrigé :ptdr: