Posez votre question Signaler

Script bash [Résolu]

finaltouch 11Messages postés 24 avril 2008Date d'inscription - Dernière réponse le 29 avril 2008 à 15:43
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
Lire la suite 

Script bash »

8 réponses
Réponse
+0
moins plus
Bonjour,

Peut tu s'il te plait me copier coller le contenu de ton fichier network.

Merci.
Ajouter un commentaire
Réponse
+0
moins plus
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 !!
Ajouter un commentaire
Réponse
+0
moins plus
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
LtSoldier - 29 avril 2008 à 15:22
#!/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
finaltouch - 29 avril 2008 à 15:27
A 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
LtSoldier - 29 avril 2008 à 15:33
Pas de soucis :)

Une fois tester oublie pas si sa fonctionne de passer le sujet en résolu :)
Ajouter un commentaire
Réponse
+0
moins plus
Merci beaucoup sa fonctionne :d .
Ajouter un commentaire
Ce document intitulé « script bash » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook