problème pour créer mon script bash

problème pour créer mon script bash - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 12-07-2007 à 19:21:10    

Bonjour,
 
Voila je sert a faire un script de ce genre là :

#!/bin/bash
VAR1="ifconfig $1 down"
VAR2="ifconfig $1 $2 netmask $3"
VAR3="route add default gw $4 $1"
 
$VAR1 |
$VAR2 |
$VAR3 |
 
exit 0

 
et donc pour l'éxécuter je voudrais faire de la façon suivante :
 
./ScriptIpConfig ath0 192.168.1.12 255.255.255.0 192.168.1.1
 
 
Merci


Message édité par Profil supprimé le 12-07-2007 à 19:21:52
Reply

Marsh Posté le 12-07-2007 à 19:21:10   

Reply

Marsh Posté le 12-07-2007 à 20:00:58    

Bonsoir.
A quoi est censé servir ton script précisément ?


Message édité par Fork Bomb le 12-07-2007 à 20:02:28

---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 12-07-2007 à 20:53:04    

alors le but de mon script c'est de pouvoir régler l'adresse ip que je veut sur l'interface que je souhaite par exemple sur l'interface ath0 je souhaite avoir comme adresse ip 192.168.1.12. Alors au lieu de taper succesivement la commande ifconfig pour l'adrese ip et route pour indiquer l'adresse de routeur je voudrais faire ceci dans un script bash et que ces 2 commande s'éxécute avec les paramètres qui sont passé au script

Reply

Marsh Posté le 12-07-2007 à 20:54:47    

Ok.
Utilises read, ça va te plaire.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 12-07-2007 à 21:52:45    

j'ai regarder la fonction read mais ce ne pas exactement ce que je chercher ! je ré-explique ^^
 
voici comment je veut lancer le script :
 
./ScriptIP ath0 192.168.1.13 255.255.255.0 192.168.1.1
 
je voudrais donc que le script m'exécute successivement les commande suivante
 
ifconfig ath0 192.168.1.13 netmask 255.255.255.0
 
route add default gw 192.168.1.1 ath0
 
avec éventuellement la commande   ifconfig ath0 down   avant  
 
Le problème c'est que je n'arrive pas a exécuter plusieurs commande dans mon script
 
Voila j'espère que j'ai été clair dans mes explications lol
 
Merci

Reply

Marsh Posté le 12-07-2007 à 21:57:33    


 

#!/bin/sh
 
ifconfig ath0 down
ifconfig ath0 192.168.1.13 netmask 255.255.255.0
route add default gw 192.168.1.1 ath0


 
 [:airforceone]


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 12-07-2007 à 23:18:16    

Salut.
 
Homer_Simpson, je suppose que Chocobo2005 veut qq chose d'adaptable suivant les arguments que l'on donne, je propose ça:  (dit moi si ça convient, je ne souhaite pas tester, j'ai un site en prod   ;) )
 
J'ai ajouté la fonction d'erreur comme tu peux le voir. (retourne le nombre de commandes qui ne sont pas passées...)
 

Code :
  1. #!/bin/bash
  2. # by sputnick
  3. var=0
  4. /sbin/ifconfig "$1" down || ((var=var+1))
  5. /sbin/ifconfig "$1" "$2" netmask "$3" up || ((var=var+1))
  6. /sbin/route add -net default gw "$4" "$1" || ((var=var+1))
  7. if [[ "$var" = "0" ]]; then
  8. echo "succeded !   :)"
  9. else
  10. echo ""$var" problems detected during the operations !    :/"
  11. fi

Message cité 1 fois
Message édité par sputnick le 12-07-2007 à 23:34:28
Reply

Marsh Posté le 12-07-2007 à 23:22:09    

sputnick a écrit :

Salut.
 
Homer_Simpson, je suppose que Chocobo2005 veut qq chose d'adaptable suivant les arguments que l'on donne, je propose ça:  (dit moi si ça convient, je ne souhaite pas tester, j'ai un site en prod   ;)


C'est pour ça que je lui ai proposé read.


---------------
Décentralisons Internet-Bépo-Troll Bingo - "Pour adoucir le mélange, pressez trois quartiers d’orange !"
Reply

Marsh Posté le 12-07-2007 à 23:33:22    

Oui mais c'est pas ce qu'il demande , cf:
"voici comment je veut lancer le script :
 
./ScriptIP ath0 192.168.1.13 255.255.255.0 192.168.1.1 "

Reply

Marsh Posté le 13-07-2007 à 08:29:59    

Merci pour vos réponse, je vai essayer sa ce soir si j'ai le temp ou bien demain matin et je vous tiens au courant si sa a marché


Message édité par Profil supprimé le 13-07-2007 à 08:30:24
Reply

Marsh Posté le 13-07-2007 à 08:29:59   

Reply

Marsh Posté le 13-07-2007 à 18:44:45    

Citation :


#!/bin/bash

 

var=0
/sbin/ifconfig "$1" down || ((var=var+1))
/sbin/ifconfig "$1" "$2" netmask "$3" up || ((var=var+1))
/sbin/route add -net default gw "$4" "$1" || ((var=var+1))

 

if [[ "$var" = "0" ]]; then
        echo "succeded !"
else
        echo " "$var" problems detected during the operations !"
        fin

 


en exécutant ce sript j'ai une erreur :

./ScriptIP: line 14: syntax error: unexpected end of file

 


Message édité par Profil supprimé le 13-07-2007 à 18:45:04
Reply

Marsh Posté le 13-07-2007 à 18:47:16    

fi et pas fin ...

Reply

Marsh Posté le 13-07-2007 à 19:50:14    

a bon d'accord je me demandais aussi lol


Message édité par Profil supprimé le 13-07-2007 à 19:50:55
Reply

Marsh Posté le 13-07-2007 à 20:09:09    

bon alors j'ai essayer le script mais cela ne marche pas j'ai bien le message succeed qui s'affiche mais mon adresse ip ne change pas ! par défaut j'ai 192.168.1.13 et kan j'exécute le script mon adresse reste la même !
quelqu'un a une idée ?!

Reply

Marsh Posté le 13-07-2007 à 20:57:32    


Lance ton script en root


---------------
Un blog qu'il est bien
Reply

Marsh Posté le 13-07-2007 à 21:03:59    


 
 
 

Code :
  1. #!/bin/bash
  2. /sbin/ifconfig "$1" "$2" netmask "$3"  && \
  3. /sbin/route add -net default gw "$4" "$1"


 
 
Beaucoup plus simple mais au mois ça marche.

Reply

Marsh Posté le 13-07-2007 à 21:58:14    

ok merci c'est bon sa marche en fait quand je tape la commande ifconfig mon adresse ip a bien changé par contre pour l'icône surveillance du réseau ( wifi ) mon adresse ip na pas changer mais bon tant pis du moment que l'adresse change bien c'est l'essentielle
 
Merci beaucoup pour vos réponse

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed