bonjour! Alors voilà, je dois faire une xercie sur Linux pour demain, j´ai commencé mon script, seuleument, il y a des erreurs de syntaxe! Voilà déjà l´énoncé:
Créez un script qui permet de mettre en place le réseau. Il doit prendre 1 argument qui sera soit start, stop, restart,
status ou zap. Il détectera automatiquement toutes les cartes réseaux et permettra de spécifier quelle carte
réseau utiliser.
1. Il devra lire le fichier de configuration (ci-joint) qui contiendra les informations suivantes
sur une interface :
• L’interface doit elle récupérer une adresse dynamiquement (DHCP) ou bien doit elle être statique.
• Dans le cas d’une adresse statique, quelle est l’adresse IP, l’adresse de broadcast, quelle est la passerelle par défaut
(gateway), quelles sont les adresses des DNS, ... à attribuer.
• Dans le cas d’une attribution dynamique via DHCP, quel est le nom de la machine à envoyer au DHCP (hostname),
quel est le délai d’attente avant l’arrêt des requêtes DHCP (timeout).
Exemple 1.2. Fichier de configuration :
- Mettre a yes pour activer l’adressage automatique,
- sinon mettre a no
DHCP=yes
- Paramètres en cas d’adressage statique
NETADDR=192.168.0.10
BCAST=255.255.255.0
NETMASK=192.168.0.255
- Séparez les DNS par des :
DNS=192.168.0.1:212.30.96.108
GATEWAY=192.168.0.1
- Paramètres en cas d’adressage via DHCP
- Timeout en secondes
TIMEOUT=5
HOSTNAME=`hostname`
2. Il devra prendre en argument différents paramètres que voici :
start : Le script devra lire un fichier de configurations (par exemple, net.conf, ...) et mettre en place les différentes interfaces
suivant les paramètres lus dans ce fichier de configuration :
stop : Les interfaces devront alors être démontés, le client DHCP arrêté si nécessaire.
restart : Appels successifs de stop puis start.
status : L’argument status permettra de déterminer si le script a déjà été démarré ou non.
zap : L’argument zap permettra de forcer l’état du script à stop.
3. Le script comportera les variables suivantes :
• Le nom et le chemin vers le client DHCP : DHCP_PROG
• Le nom et le chemin vers le fichier temporaire : TEMP_FILE
• Le chemin vers le script qui contient le fichier de configuration : CONF_DIR
Maintenant, voilà ce que j´ai fait:
-Créer un répertoire bin dans /home/vair (vair est mon user)
-dans bin, j´ai créer un fichier net.conf, qui est le fichier de configuration donné dans l´exercice (c´est le prof qui nous a dit de faire ça)
- j´ai donc ensuite écrit mon script, que voici:
- !/bin/bash
source net.conf
read -p "Quelle commande voulez vous éxécuter, Start, Stop, Restart,Status,Zap ? " reponse case "$reponse" in
Start)
if [ $DHCP= "yes" ]; then
`dhclient`
;;
Stop)
`ifconfig eth0 down`
;;
Restart)
`ifconfig eth0 down` ;
if [ $DHCP= "yes" ]; then
`dhclient`
;;
Status)
;;
Zap)
echo "" ;;
Voilà, quand je lance, il me demande bien la commande, mais peut importe celle que je choisis, il me met trois erreurs:
./script.sh line 4: read: `´: not a valid identifier
./script.sh line 5: syntax error near unexpected token `)´
./script.sh line 5: ` Start)´
voilà, alors je ne comprend pas ces erreurs,si seuleument quelqu´un pouovait me les expliquer!
Merci d´avance!
PS: Je n´ai aps trouvé pour Status, et je suis casiment sur que Zap est faux, mais je préfère les trouver tout seul!
PS2: Désolé pour mon premier topic, il est vrai que ce n´était pas, sympa de vous demander de faire ça a ma place! Désolé!