Simple Script pour vérifier longueur d'une adresse mac

Bonjour tous le monde,

J’essaye de créer un script qui doit vérifier si l’adresse MAC renseigné est correct. Si oui il va remplir un fichier texte sinon il enverra un message d’erreur.

Le problème est que j’ai toujours un message d’erreur…

Quelqu’un pourrait t-il me diriger vers la bonne solution car j’ai vu que la condition de if pourrait être entre 2 [[

#!/bin/sh
read -p 'Entrez le nom de votre machine:' nom
read -p "Entrez l'adresse IP de la machine (minuscule sans separateur):" adresseIP

if ["${#adresseIP}" -eq 12] then
                echo "#$nom" >>texte
                echo "$adresseIP" 'Cleartext-password :=' '"'$adresseIP'"' >>texte
else
                echo "L'adresse IP saisie est invalide"
fi

Le message d’erreur actuel est:

./script.sh: 9: Syntax error: "else" unexpected (expecting "then")

Comme ceci peut-être :smiley:

[code]#!/bin/sh
read -p ‘Entrez le nom de votre machine:’ nom
read -p “Entrez l’adresse IP de la machine (minuscule sans separateur):” adresseIP

if [ “${#adresseIP}” -eq 12 ]
then
echo $nom
echo $adresseIP “Cleartext-password :=” $adresseIP
else
echo "L’adresse IP saisie est invalide"
fi[/code]

[quote=“nanard”]Comme ceci peut-être :smiley:

[code]#!/bin/sh
read -p ‘Entrez le nom de votre machine:’ nom
read -p “Entrez l’adresse IP de la machine (minuscule sans separateur):” adresseIP

if [ “${#adresseIP}” -eq 12 ]
then
echo $nom
echo $adresseIP “Cleartext-password :=” $adresseIP
else
echo "L’adresse IP saisie est invalide"
fi[/code][/quote]
C’est ce que je fais aussi pour plus de clarté mais dans sa ligne, je crois qu’il doit falloir ajouter un ‘;’ avant le ‘then’ ???

Bien vu ça fonctionne aussi avec le point-virgule

[code]#!/bin/sh
read -p ‘Entrez le nom de votre machine:’ nom
read -p “Entrez l’adresse IP de la machine (minuscule sans separateur):” adresseIP

if [ “${#adresseIP}” -eq 12 ] ;then
echo $nom
echo $adresseIP “Cleartext-password :=” $adresseIP
else
echo "L’adresse IP saisie est invalide"
fi[/code]

Mais, je suis comme toi, je préfère placer le ‘then’ sur une autre ligne, ça aère mieux.

Merci nanard et ricardo.

J’avais déjà essayé de mettre des espaces dans la condition du if mais sans succès. J’ai tellement modifier mon script que j’avais du faire une autre faute. Je dois passer pour un imbécile avec ma question maintenant… :slightly_smiling:

Merci encore.

Le sujet c’est pour vérifier la validité d’une adresse MAC?

Vérifier la longueur seule ce n’est pas le top, il y a mieux :

egrep ^\([0-9a-fA-F]{2}[-:]\){5}[0-9a-fA-F]{2}$

(regexp glanée qque part sur le net)