Bonjour,
voilà, je suis pas encore trés afuté en script shell... et y'a des trucs que je n'arrive pas a faire... (je suis en ksh, mais je veux bien changer si il faut...)
1) tester si un fichier (un répertoire) n'existe pas
bien sur si je fais ca :
Code :
- function backup {
- if [ -d ${HOME}/${HDBACK} ]
- then
- echo "Rep ${HOME}/${HDBACK} existe déjà."
- else
- mkdir ${HOME}/${HDBACK}
- echo "Rep ${HOME}/${HDBACK} n'existe pas."
- fi
- }
|
j'ai bien mon test sauf que j'ai rien a mettre dans le then en réalité, je veux juste créer le répertoire s'il n'existe pas.
autre probleme, je veux tester si une variable contient une valeur:
Code :
- if [ $GATEWAY1 != "" ]; then
- echo "GATEWAY=$GATEWAY1" >> ${IFCFGPATH}${VETH_1}
- fi
|
là ca marche sauf que ca renvoit une erreur si la variable n'existe pas.
j'ai un peu tout essayé, du genre "if [ -n $GATEWAY1 ]" "if [ -z $GATEWAY1 ]" d'ailleurs les deux me renvoyaient toujours vrais... j'ai pas compris...
Ensuite: autre pb:
je veux modifier dans le fichier hostname mon nom d'hote, donc j'ai été obligé de faire ca:
Code :
- grep -v "HOSTNAME*" $SYSCONF >> ${SYSCONF}_tmp
- echo "HOSTNAME=$HOSTNAME" >> ${SYSCONF}_tmp
- cp -rf ${SYSCONF}_tmp $SYSCONFRES
|
car j'ai pas réussi a faire ce que je voulais avec sed (cad faire un sed qui remplace HOSTNAME=* par HOSTNAME=$HOSTNAME , je me retrouvais avec en sortie "HOSTNAME=ancien_nom=nouveau_nom" bon c'est clair j'ai trop de mal avec sed et awk mais ca m'étonerais que ca ne soit pas possible...)
voilà, si y'a une ame charitable prete a me partager un peu de son savoir, ca serait pas de refus...
merci bien.