script shell, pb de tests - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 27-04-2004 à 10:34:30
1. ! pour inverser le resultat
2. essaies if [ "X$GATEWAY1 != "X" ]; then ... avec un GATEWAY1="" avant bien sur (tout au debut koi)
Marsh Posté le 27-04-2004 à 11:04:27
Test si le contenu d'une variable est nulle :
if [ -z $GATEWAY1 ]; then
GATEWAY1=1;
fi
Test inverse :
if [ ! -d /tmp ]; then
echo "existe pas !"
fi
Marsh Posté le 27-04-2004 à 11:52:41
ah déjà merci pour le test inverse, j'avais essayé dans tous les sens mais pas avec un espace entre le ! et le -d ...
et vu que ca marche pas avec le -z, je vais tenter le "X..." c'est bidouille maos pkoi pas...
alors sinon, personne pour le sed?
en tt cas, déjà merci pour ca... rapide et tout...
Marsh Posté le 27-04-2004 à 13:01:40
Essayes un truc comme ça :
echo "HOSTNAME=*" | sed s/HOSTNAME=\\*/HOSTNAME=$HOSTNAME/
Marsh Posté le 27-04-2004 à 10:28:50
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 :
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:
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:
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.