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 05/07/2010, à 13:04

SonOfGod7

Script en bash

Salut à tous, j'ai voulu faire une petit script bash qui me permet d'automatisation les
commande que je doit taper pour connecter me connecter à internet via ma clé 3G au demarage.
J'ai pas le script sur moi mais je le mettrai sur ce topic.

Au juste je suis bloqué à un niveau.
Je dois d'abor entrer une commande wvdial qui s'execute durant tout le temps où je suis connecté. Ensuite apres avoir attendu une minute le temp de recuperer une addresse ip dynamique ,j'entre des commandes pour affecter une route par defaut
voici un extrait du code

wvdial
at now +1 minutes
ip route del default
ip route add 0.0.0.0/0 via @monAdresseIp

Le probleme situ à la 2e ligne.
Puisque la commande wvdial s'execute à l'infini la commande qui suit ne s'execute jamais


j'ai alors voulu resoudre le probleme en excutant la tache en arriere plan à l'aide de &

wvdial &
at now +1 minutes
ip route del default
ip route add 0.0.0.0/0 via @monAdresseIp

toujours rien (wello).
Pouvez vous m'aider ?

Hors ligne

#2 Le 05/07/2010, à 14:32

credenhill

Re : Script en bash

hello
essaye

wvdial &
at now +1 minutes << EOF
ip route del default
ip route add 0.0.0.0/0 via @monAdresseIp
EOF
# ou bien
wvdial &
sleep 60
ip route del default
ip route add 0.0.0.0/0 via @monAdresseIp

Hors ligne

#3 Le 05/07/2010, à 19:34

SonOfGod7

Re : Script en bash

Effectivement ça marche, merci pour ton aide.

J'envoi en meme temps mon code. Pour tous ceux qui utilise une clé de connexion 3G pour internet sur linux et via USB_MODESWITCH et WVDIAL
Voici un script pour se connecter à internet

#!/bin/bash

wvdial &

sleep 60
ip2=`ifconfig | grep -1 ppp0 | tail -1 | cut -d: -f2 | cut -d' ' -f1`
ip route del default
ip route add 0.0.0.0/0 via $ip2
EOF

Si quelqu'un a une proposition d'amelioration ou carrement un script qui permet d'installer et de configurer ce genre de matos.

Hors ligne

#4 Le 06/07/2010, à 00:09

nesthib

Re : Script en bash

petite simplification :

ip2=$(ifconfig | sed -n '/ppp0/{n;s/.*inet adr:\([^ ]*\).*/\1/p}')

GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#5 Le 06/07/2010, à 08:45

credenhill

Re : Script en bash

ou

ip2=$(ifconfig ppp0 | awk -F"[: ]*" '/inet / {print $4}')

Hors ligne

#6 Le 06/07/2010, à 09:06

nesthib

Re : Script en bash

@credenhill : j'avais hésité entre les deux, mais ma préférence reste quand même sed que j'ai découvert en premier (pas de jaloux, j'adore aussi awk qui est extrêmement puissant) wink


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#7 Le 06/07/2010, à 09:20

johndo

Re : Script en bash

Hello,

Ou encore ceci :

infos=$(ifconfig ppp0)
adresse=${infos#*adr:}
echo ${adresse%.*Bcast*}

Hors ligne

#8 Le 06/07/2010, à 10:24

nesthib

Re : Script en bash

@johndo : yep joli full bash, avec tout ça SonOfGod7 va devenir le roi du script ^^

NB. petite correction sur la dernière ligne (espace au lieu du point) : echo ${adresse% *Bcast*}
ou encore plus simplement : echo ${adresse%% *}


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#9 Le 06/07/2010, à 10:27

johndo

Re : Script en bash

Oui, effectivement : erreur issue d'un copier-copier d'un script où la dernière partie de l'IP n'était pas souhaitée.

Hors ligne

#10 Le 06/07/2010, à 13:28

SonOfGod7

Re : Script en bash

Merci les gars, je suis nouveau sur ce forum et meme debutant en linux,
Et ce que je peu dire c'est que I LOVE GNU/LINUX AND UBUNTUwink

Si par hasard quelqu'un a une proposition pour realiser un script d'installation de ce type de clé internet, ce sera vraiment cool. Je m'y mettrai bientot ladessus.

Dernière modification par SonOfGod7 (Le 06/07/2010, à 13:29)

Hors ligne