|
|
|
|
Salut,
Je vois dans les grandes lignes ce que tu veux faire, mais pour t'aider j'aurai besoin d'exemples concrets, autrement dit un bout de ton fichier à traiter et les résultats que tu veux obtenir. Sans ça on risque de partir sur de mauvaises bases et patauger dans la semoule ;-)) Sinon en gros : Pour récupérer une variable entrée au clavier il faut utiliser la commande "read" : echo -e "Entrer un nombre :\n" read nombre echo echo "Vous avez entré le nombre $nombre."Pour afficher une ligne d'un fichier les solutions ne manquent pas, entre autre tu peux utiliser "sed" : sed -n 3p le_fichieraffichera la 3ème ligne du fichier "le_fichier". Ensuite pour ton histoire de confirmation, un petit test avec "if ... then" devrait faire l'affaire : echo -e "Le résultat est-il bon ? [O/N] \n" read result if [ "$result" = "N" ] then exit fiSi tu tapes "N" alors le script s'arrête... Bon, tout ça c'est à prendre juste pour les bases, je ne suis pas devant mon PC avec un environnement GNU/Linux et de ce fait je ne peux pas tester l'exactitude de mes bouts de scripts... Donc dès que je rentre je pourrai te confirmer le tout et me pencher davantage sur ton cas, si toutefois tu me fournis plus de détails... Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé.
|
Re-
Bon j'ai pas tout compris, en grande partie parce que je ne sais toujours pas si tu dois lire des données en dehors de ton script ou si ces données sont dans le script lui même (je pencherai plus pour cette proposition). Enfin, pour reprendre ton ébauche (en gras ce que j'ai rajouté ou corrigé) : echo -e "Bonjour, voulez vous lancer le test de paquet de ligne 3G ? [O/N] \n" read result if [ "$result" = "O" ] then start pr fi echo -e "Voulez vous continuer ? [O/N] \n" read poursuivre if [ "$poursuivre" = "O" ] Then echo -e "Veuillez rentrer le VCC de la ligne à tester ? \n" read VCC (à ce niveau j’aimerai que le nombre rentré (ex:185) soit injecté directement dans les lignes de commandes qui suivent jusqu’a la fin du script) d atmif/800 vcc/"$VCC".32 nep fi echo -e "Voulez vous continuer ? [O/N] \n" read poursuivre if [ "$poursuivre" = "O" ] Then Del atmif/800 vcc/"$VCC".32 nep fiBon à ce stade il manquerait encore des conditions (else) pour clarifier le tout, mais là j'aurai besoin de plus de détails encore et toujours ;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Oui effectivement les données que j'ai besoin de recuperer sont dans le sript, je n'ai pas de données à exporter vers un autre fichier, ni de données à archiver ou sauvegarder, j'ai uniquement besoin de lire à l'ecran les resultats que le script execute pas à pas.
quand la ligne d atmif/800 vcc/"$VCC".32 nep est lancée j'ai juste besoin de lire à l'ecran le resultat. je viens de completer mon ebauche avec tes remarques et mon 6eme sens lol, pour alleger le tout j'ai supprimé la demande de confirmation de continuer ou pas le script pas à pas, je vais tester avec les commandes lancées à la chaine cela devrait etre plus rapide. echo -e "Bonjour, voulez vous lancer le test de paquet de ligne 3G ? [O/N] \n" read result if [ "$result" = "O" ] then start pr fi echo -e "Veuillez rentrer le VCC de la ligne à tester ? \n" #Nombre entre 0 et 999 read VCC d atmif/800 vcc/"$VCC".32 nep Del atmif/800 vcc/"$VCC".32 nep add atmif/800 vcc/"$VCC".32 test add atmif/800 vcc/"$VCC".33 add atmif/800 vcc/"$VCC".33 nep Set atmmpe/1000 ac/"$VCC" atmconnection atmif/800 vcc/"$VCC".33 nep Ch pr Act pr Conf pr End pr echo -e "Veuillez rentrer la durée du test ? \n" #Durée entre 1 et 5 minutes read TIMETEST Set atmif/800 vcc/"$VCC".32 test duration "$TIMETEST" Start atmif/800 vcc/"$VCC".32 test echo -e "Voulez-vous un premier aperçu du test en cours ? [O/N] \n" read resultat if [ "$resultat" = "O" ] then d atmif/800 vcc/"$VCC".32 test (ici j’aimerai revenir à la ligne precedente de choix : echo -e "Voulez-vous un premier aperçu du test en cours ? [O/N] \n" car pendant toute la durée du test on peut lancer autant de fois que l’on veut la commande : d atmif/800 vcc/"$VCC".32 test afin d’avoir un apercu des envois et retours de paquet sur le lien 2M/b avant la fin du test) else (ici j'aimerai que le script attende la fin de la durée du test pour me demander de continuer car la commande de test : Start atmif/800 vcc/"$VCC".32 test, va me generer directement sur l'ecran plusieurs lignes concernant le resultats des envois de paquets que je n'ai besoin uniquement que de lire) echo -e "Appuyer sur Q pour quitter le programme \n" read QUITTER if [ "$QUITTER" = "Q" ] then Start pr add atmif/800 vcc/"$VCC".32 nep Del atmif/800 vcc/"$VCC".33 Set atmmpe/1000 ac/"$VCC" atmconnection atmif/800 vcc/"$VCC".32 nep Del atmif/800 vcc/"$VCC".32 test Ch pr Act pr Conf pr End pr Exit fi merci pour ton aide, je commence a comprendre des petits bouts de choses et cela devient tres interessant ;o)))) |
Re-
(ici j’aimerai revenir à la ligne precedente de choix : echo -e "Voulez-vous un premier aperçu du test en cours ? [O/N] \n" car pendant toute la durée du test on peut lancer autant de fois que l’on veut la commande : d atmif/800 vcc/"$VCC".32 test afin d’avoir un apercu des envois et retours de paquet sur le lien 2M/b avant la fin du test) Les corrections et rajouts sont en gras dans l'exemple qui suit... while : do echo -e "Voulez-vous un premier aperçu du test en cours ? [O/N] (Q pour quitter)\n" read resultat if [ "$resultat" = "N" ] then continue fi if [ "$resultat" = "Q" ] then break fi d atmif/800 vcc/"$VCC".32 test done else (ici j'aimerai que le script attende la fin de la durée du test pour me demander de continuer car la commande de test : Start atmif/800 vcc/"$VCC".32 test, va me generer directement sur l'ecran plusieurs lignes concernant le resultats des envois de paquets que je n'ai besoin uniquement que de lire) Là regarde du côté de la commande "wait" et le lancement de commande en arrière-plan au moyen de l'esperluette ( & ). pour reprendre l'exemple ci-dessus, sur ta ligne : "d atmif/800 vcc/"$VCC".32 test" rajoute "&" à la fin (d atmif/800 vcc/"$VCC".32 test&) et après l'instruction "done" (à la ligne) rajoute "wait", ce qui donnerait : while : do echo -e "Voulez-vous un premier aperçu du test en cours ? [O/N] (Q pour quitter)\n" read resultat if [ "$resultat" = "N" ] then continue fi if [ "$resultat" = "Q" ] then break fi d atmif/800 vcc/"$VCC".32 test& done wait ...;-)) Z'@+...che. JP : Zen, my Nuggets ! ;-) Le savoir n'est bon que s'il est partagé. |
Résultats pour [UNIX KSH] Besoin d'aide pour demarrer...
Résultats pour [UNIX KSH] Besoin d'aide pour demarrer...
Résultats pour [UNIX KSH] Besoin d'aide pour demarrer...
Résultats pour [UNIX KSH] Besoin d'aide pour demarrer...
Résultats pour [UNIX KSH] Besoin d'aide pour demarrer...