Demande de script linux

Résolu/Fermé
florent - 4 mai 2015 à 19:09
 Florent - 5 mai 2015 à 20:20
Bonjour,

Je vous contact car je voudrais savoir si une personne pourrais prendre un peut de sont temps pour me faire un petit script Linux, voila j'ai plusieurs fichiers en .ovpn et donc plusieurs vpn, je voudrais un script avec un menu qui me permettrais de choisir le lieux de connexion et suivant le choix la commande suivante se lance .
/openvpn canada.ovpn

suivant le choix du pays la commande change bien entendu, voici ce que j'ai en vpn.

Allemagne1
Belgique
Canada3
Etats-Unis2
Grèce
Lettonie
Pologne1
Royaume-Uni
Allemagne2
Bulgarie
Danemark
Etats-Unis3
Hongrie1
Lituanie1
Pays-Bas1
Pologne
Russie
Ukraine
Angleterre
Espagne
Finlande1
Irlande1
Luxembourg1
Pays-Bas2
Portugal
Slovénie
Autriche
Canada1
Estonie
France1
Islande1
Malte1
Pays-Bas3
Republique-Tcheque
Suède
Belgique1
Canada2
Etats-Unis1
France2
Italie1
Norvège1
Pays-Bas4
Roumanie
Suisse


Merci pour votre aide
A voir également:

3 réponses

Merci pour vos réponses cela serait sympathique de votre part
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
Modifié par zipe31 le 5/05/2015 à 17:42
Salut,

Pour faire simple, utilise zenity, ce qui me semble sera le plus facile pour toi.

L'idée c'est de mettre la liste de tous tes différents lieux de connexion dans un fichier (1 nom par ligne et attention à la casse qui doit être la même que le nom de tes fichiers openvpn), d'appeler cette liste via zenity, ce qui te donnera une jolie fenêtre avec une liste déroulante, depuis laquelle tu choisiras ton pays.

Le résultat en sera une partie du nom de ton fichier de conf.
Il ne te restera plus qu'à appeler le bon fichier en combinant le résultat avec l'extension .vpn ;-)

Voilà à quoi ressemble la commande zenity (plop étant le nom du fichier contenant la liste) :
zenity --entry $(sort plop) 2>/dev/null


Voila le résultat à l'écran :





☮ Zen my nuggets ☯
Faites un geste pour l'environnement, fermez vos fenêtres et adoptez un manchot. <('')
0
Merci pour ta réponse mais je préfère un bon vieux script bash et faire en ligne de commande plutôt qu'une interphase graphique.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417 > Florent
5 mai 2015 à 18:14
mais je préfère un bon vieux script bash et faire en ligne de commande
Alors il ne te reste plus qu'à mettre les mains dans le cambouis ;-)
0
Florent > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
5 mai 2015 à 18:18
Bon Merci comme même apparemment personne n'a le temps ici je vais aller sur d'autre forum qui seront plu en clin à me donner un script bash (chose que je demande depuis le début) en ne mentionnant pas d'interphase graphique.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417 > Florent
5 mai 2015 à 18:21
Et le faire toi-même ça ne t'a pas effleuré l'esprit ?

Même si j'ai employé zenity, c'est quand même un script bash à la base, qui ne fait appel qu'à une commande externe, mais le reste, la récupération de la valeur de la variable et l'appel à ton fichier de conf, c'est du shell ;-)
0
Ouais et lire le début du message ça ne ta pas effleurer l'esprit les condition était claire dès le départ !

je cite :
je voudrais savoir si une personne pourrais prendre un peut de sont temps pour me faire un petit script Linux

si c'est écrit ça c'est que je n'ai clairement pas envie de le faire ou de l'envisager par ce que je ne sais pas faire et donc je demande a des personnes qui connaissent . Comme vous le ferriez quand vous demandez une télé dans un magasin on vous le donne par ce que vous êtes client, LE vendeur ne va pas vous dire vous ne pouvez pas la construire vous même !

C'est dingue ça vous croyez que je posterais ce message ici si je voulais le faire moi même le script ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
5 mai 2015 à 20:10
./foo.sh

Résultat :



;-))
0
Jolie ^^
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 417
5 mai 2015 à 20:13
#! /bin/bash

clear

echo "Liste des pays pour la connexion VPN :"
echo
nl plop | sed 'N;N;N;s/\(^ *\|\t\)/ /Mg;s/\n/\t\t/g'
echo
read -p "Chosissez le numéro du lieu d'où se fera la connexion VPN : " choix
echo
pays=$(sed -n ${choix}p plop)

echo "Lancement du script \"${pays}.ovpn\" ..."
echo
echo "Bonne connexion avec ${pays} ;-)"
echo
0
Plop étant le nom du fichier n'est-ce pas ?
Jolie travail Zipe31
0
faut-il que dans le fichier plop en question cela soit représenter comme ceci ligne par ligne

openvpn Allemagne.ovpn
openvpn Russie.ovpn
etc ....

puisque si je comprend ton screenshot, foo.sh lance le script indiqué juste au-dessus qui lui lit la liste des vpn.
0