Script bash
Résolu
Bonjour,
Je suis débutant sous linux et encore plus pour créer des scripts. Je cherche à modifier le fichier /etc/network/interface afin de choisir gràce à l'éxécution de mon script l'IP suivant le sous réseau que je souhaite.
Je souhaiterai changer:
address 192.168.0.123 par ---> address 192.168.1.123
gateway 192.168.0.1 par ---> gateway 192.168.1.1
Je pense devoir utiliser la commande head ou même peut-être cut pour générer mon script ...Cependant je ne vois pas vraiment comment le réaliser .
Ci-dessous mon début de script .
#!/bin/bash
if [ $1 = "peda" ]; then
{ echo "interface vlan péda activée";}
else [ $1 = "admin" ];
{ echo "interface vlan admin activée";}
fi
cat /etc/network/interface0 > tmp
if [ $var1 = "address"] then
fi
Merci d'avance
Final_touch
Je suis débutant sous linux et encore plus pour créer des scripts. Je cherche à modifier le fichier /etc/network/interface afin de choisir gràce à l'éxécution de mon script l'IP suivant le sous réseau que je souhaite.
Je souhaiterai changer:
address 192.168.0.123 par ---> address 192.168.1.123
gateway 192.168.0.1 par ---> gateway 192.168.1.1
Je pense devoir utiliser la commande head ou même peut-être cut pour générer mon script ...Cependant je ne vois pas vraiment comment le réaliser .
Ci-dessous mon début de script .
#!/bin/bash
if [ $1 = "peda" ]; then
{ echo "interface vlan péda activée";}
else [ $1 = "admin" ];
{ echo "interface vlan admin activée";}
fi
cat /etc/network/interface0 > tmp
if [ $var1 = "address"] then
fi
Merci d'avance
Final_touch
Configuration: Linux Debian
4 réponses
-
Bonjour,
Peut tu s'il te plait me copier coller le contenu de ton fichier network.
Merci. -
Voici mon fichier /etc/network/interface :
auto eth0
iface eth0 inet manual
auto tap1
iface tap1 inet manual
tunctl_user <XXXX>
auto bridge0
iface bridge0 inet static
post-up chmod ugo+rw /dev/net/tun
address 192.168.0.123
netmask 255.255.255.0
gateway 192.168.0.1
bridge-ports eth0 tap1
bridge-ageing 7200
bridge-fd 0
iface lo inet loopback
J'ai vu que l'on pouvait utiliser la commande sed ... Mais après c'est prail comment ??
Merci de t'interesser à mon pb !! -
J'ai avancé dans mon problème . il change bien mon adresse IP . Je met tout cela dans un fichier tmp . Comment l'appliquer ensuite à mon fichier /etc/network/interface ??
#!/bin/bash
cat /etc/network/interface0 > tmp
if [ $1 = "pedagogie" ]; then
{ echo "interface vlan pédagogie en cours d'activation";}
sed 's/192.168.1.1/192.168.0.1/g' <tmp
else [ $1 = "administratif" ];
{ echo "interface vlan administratif en cours d'activation";}
sed 's/192.168.0.1/192.168.1.1/g' <tmp
fi-
-
#!/bin/bash # # Définition des @IP IP1="192.168.0.123" IP2="192.168.1.123" # Définition des passerelles GATEWAY1="192.168.0.1" GATEWAY2="192.168.1.1" # Définition du fichiers Network NETWORK_FILE="/etc/network/interface" # Fichier exec shell script temp SED_FIC="/tmp/sed_tmp" # Début du script if [ $1 = "peda" ]; then { echo "interface vlan péda activée" # Changement de l'adresse IP IP_TO_CHANGE=`grep address $NETWORK_FILE | awk '{print $2}'` sed -i 's/$IP_TO_CHANGE/$IP1/' $NETWORK_FILE > $SED_FIC chmod 755 $SED_FIC $SED_FIC rm $SED_FIC # Changement de la passerelle GATEWAY_TO_CHANGE=`grep gateway $NETWORK_FILE | awk '{print $2}'` echo "sed -i 's/$GATEWAY_TO_CHANGE/$GATEWAY1/' $NETWORK_FILE" > $SED_FIC chmod 755 $SED_FIC $SED_FIC rm $SED_FIC } else [ $1 = "admin" ]; { echo "interface vlan admin activée" # Changement de l'adresse IP IP_TO_CHANGE=`grep address $NETWORK_FILE | awk '{print $2}'` echo $IP_TO_CHANGE echo "sed -i 's/$IP_TO_CHANGE/$IP2/' $NETWORK_FILE" > $SED_FIC chmod 755 $SED_FIC $SED_FIC rm $SED_FIC # Changement de la passerelle GATEWAY_TO_CHANGE=`grep gateway $NETWORK_FILE | awk '{print $2}'` echo $GATEWAY_TO_CHANGE echo "sed -i 's/$GATEWAY_TO_CHANGE/$GATEWAY2/' $NETWORK_FILE" > $SED_FIC chmod 755 $SED_FIC $SED_FIC rm $SED_FIC } fi -
@LtSoldierA ok ....
C'est vraiment sympa d'avoir prit un peu de temps pour m'aider et je t'en remercie. J'ai pas encore testé mais si tu la fais ca devrais le faire merci encore ;)
final_touch -
@finaltouchPas de soucis :)
Une fois tester oublie pas si sa fonctionne de passer le sujet en résolu :)
-
-
Merci beaucoup sa fonctionne :d .