Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 21/01/2008, à 16:31

Kiwi41

[script bash] case shh Résolu

Bonjour,

je suis en train de créer un script pour me connecter à  mes serveurs habituels et j'a un petit soucis : le menu tourne en boucle (quitter ne marche pas) et je n'ai pas la main sur le ssh lancé...

#!/bin/bash
#--fonctions
sshtoto() {
echo "Connexion à“ $1."
ssh toto@$1
}

menu() {
clear
echo "########### Choix d'un serveur ###########"
echo "1) SRV1"
echo "2) SRV2"
echo "3) SRV3"
echo "4) SRV4"
echo "5) SRV5"
echo "6) SRV6"
echo "7) SRV7"
echo "q|Q) Quitter"

read choix

case choix in 
    1) sshinteg SRV1&
    exit 1;; 
    2) sshtoto SRV2;;
    3) sshtoto SRV3;;
    4) sshtoto SRV4;;
    5) sshtoto SRV5;;
    6) sshtoto SRV6;;
    7) sshtoto SRV7;; 
    q|Q) echo "Au revoir"
         exit;;
    *) menu ;; 
esac
}


#--lancement
menu

Dernière modification par Kiwi41 (Le 22/01/2009, à 15:26)

Hors ligne

#2 Le 21/01/2008, à 16:42

johnlege

Re : [script bash] case shh Résolu

Bonjour
Quand tu écris les sélections multiples par case, il te manque le $, pour dire que c'est ta variable choix que tu vas tester, tu devras rajouter dans ta fonction sshinteg exit, si tu veux sortir directement.

case $choix in

et

shinteg() {
echo "Connexion à“ $1."
ssh integ@$1
exit
}

je suppose que tes machines s'appellent integVPR37 integVPR38, etc...
la ligne menu toute seule ne sert pas le lancement c'est le case qui l'effectue


Merci d'indiquer résolu dans le titre quand c'est résolu

Hors ligne

#3 Le 21/01/2008, à 18:27

johnlege

Re : [script bash] case shh Résolu

Je n'avais pas vu le &, lorsque tu lances une commande de cette façon là  il essaie de l'exécuter en tache de fond, supprime le et rajoute l'exit dans la fonction et cela devrait rouler

case $choix in 
    1) sshinteg VPR37;;
    2) sshinteg VPR38;;
    3) sshinteg TPWLPF01V;;
    4) sshinteg TPWLPF02V;;
    5) sshinteg BPWLPF01V;;
    6) sshinteg BPWLPF02V;;
    7) sshinteg TPWLPB0V;; 
    q|Q) echo "Au revoir"
         exit;;
    *) menu ;; 
esac
}

Merci d'indiquer résolu dans le titre quand c'est résolu

Hors ligne