salut
je suis en train de m'embrouiller alors je demande de l'aide...
le but du jeu est de proposer à l'utilisateur de choisir son serveur...
pour cela, je dois modifier le fichier /etc/hosts qui est formaté comme ça:
@IP nom alias

en fait, il faut que je trouve la ligne ou alias vaut svrrx300,
je retiens le nom associé, il s'agit du serveur courant

je cherche tous les noms qui ont #svrrx300 comme alias,
ce sont les serveurs potentiels

je propose ces noms à l'utilisateur qui doit en choisir un en entrant son nom au clavier

une fois ce serveur choisi, je vais modifier l'alias correspondant de #svrrx300 à svrrx300

puis je change le svrrx300 de l'ancien serveur en #svrrx300

si ce n'est pas très clair tout ça alors n'hésitez pas à poser des questions...

voici mon code:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
#!/bin/sh
#cd /etc
if [ -f hosts ]; then
  echo "sauvegarde du fichier hosts en hosts.old"
  cp hosts hosts.old
   if [ -f hosts.old ]; then
      echo "fichier .old créé"
      svr_old=`gawk -F" " '{if ($3 == "svrrx300") print $2}' hosts`
      echo "le serveur actuel est $svr_old"
      echo "les serveurs potentiels sont:"
      gawk -F" "'{if($3 == "#svrrx300") print $2}' hosts
      echo "choisissez parmi ces derniers quel serveur vous désirez utiliser (entrez son nom)"
      read choix_svr
      echo "vous avez choisi le serveur $choix_svr"
      echo "modification en cours..."
      gawk -F" " '{if($2 == $svr_old) sed -e s/svrrx300/\#svrrx300/g}' hosts
      gawk -F" " '{if($2 == $choix_svr) sed -e s/\#svrrx300/svrrx300/g}' hosts
      echo "le nouveau serveur est `gawk -F" " '{if ($3 == "svrrx300") print $2}' hosts`
    else
       "échec création fichier .old"
    fi
else
   épas de fichier hosts"
fi
en fait tou fonctionne jusqu'au sed...je ne voi pas comment mettre et enlever les # devant les svrrx300...
quelqu'un a une idée?
cordialement,
jula.