Se connecter / S'enregistrer
Votre question

Boucle bash + DIALOG

Tags :
  • Serveur
  • Programmation
Dernière réponse : dans Programmation
Anonyme
29 Mai 2008 21:09:02

Salut a tous !
voila je vous présente mon problème. J'ai un script en bash que j'aimerai un peu améliorer "graphiquement" ...
Mon script lit un fichier qui contient des noms de serveurs , et est sous cette forme :
serveur1
serevur2
serveur3
...

le nombre de lignes dans ce fichier peut etre variable !
le script affiche un message et les serveurs sur lesquels on peut se connecter avec un boucle :
i=0
for ligne in `cat serveurs`
do
tablo[$i]=$ligne
i=$(($i + 1))
echo "$1- $ligne"
done

le script demande ensuite sur quelle serveur on veut se connecter..
bon apres il fait d'autre truc mais je vous épargne le reste , c'est pas utile pour le probleme qui suit ...

je veux améliorer ça en utilisant dialog !
je veux que dans mon --inputbox ca donne la meme chose que en bash :
l'affichage des serveurs :
1-serveur1
2-serveur2
...
Choissiez un serveur sur lequel vous connectez :

et j'arrive pas du tout a intégrer cette boucle dans un inputbox pour afficher ce qu'il y a dans mon fichier serveur... j'ai essayer plusieurs choses rien ne marche ... (l'affichage barbare du tableau : ${tablo
  • } y a que ca qui fonctionne mais c'est pas propre du tout ... )
    je me demande si enfait on peut faire quelque chose de dynamique comme ça ?!

    Merci pour vous réponses ... si il y en a xD parce que j'ai pas trouver grand chose avec mon ami google !!

    Si quelqu'un a une idée (:
    MERKI !
  • Autres pages sur : boucle bash dialog

    30 Mai 2008 11:12:32

    un truc de ce genre:
    1. #!/bin/bash
    2. dialog_res=$(mktemp -q)
    3. [ -z "$dialog_res" ] && exit 1
    4. list=($(cat serveurs))
    5. i=1
    6. for server in ${list[*]}
    7. do
    8. dialog_list=(${dialog_list[*]} $i $server)
    9. i=$(($i+1))
    10. done
    11. if dialog --menu Liste 20 20 20 ${dialog_list[*]} 2> $dialog_res
    12. then
    13. index=$(cat $dialog_res)
    14. echo "Vous avez choisi: " ${list[$index - 1]}
    15. else
    16. echo "Vous voulez pas ??"
    17. fi
    18. rm $dialog_res
    Tom's guide dans le monde
    • Allemagne
    • Italie
    • Irlande
    • Royaume Uni
    • Etats Unis
    Suivre Tom's Guide
    Inscrivez-vous à la Newsletter
    • ajouter à twitter
    • ajouter à facebook
    • ajouter un flux RSS