Script bash

Résolu
madess Messages postés 5 Statut Membre -  
madess Messages postés 5 Statut Membre -
Bonjour,
Apres execution de mon script bash j'ai un message d'erreur
message d'erreur tel que:
"<<newuser.sh: line 7: syntax error near unexpected token "else">>

mon script est le suivant:

#!/bin/bash
echo "creation de compte utilisateur"
echo "entrer le nom du compte"
read nom
if [ -z $nom ] then
echo "entrer un nom de compte"
else
useradd --gid "mail" --create-home --comment "$nom" --password 123456
fi

if [ $? -ne ] then
echo "ce nom $nom est deja utilisé"
exit
fi
--------------------------------------------------------------------------------------------------

SVP aidez moi a ressoudre ce probleme pour que mon script fonctionne.
le fichier s'appelle "newuser.sh"
et j'utilise RED HAT ENTERPRISE LINUX ES 3
Configuration: red hat enterprise linux ES 3

4 réponses

  1. madess Messages postés 5 Statut Membre 1
     
    Ok frere merci pour ton aide mon script fonctionne parfaitement
    voici le script

    #!/bin/bash
    echo "creation de compte utilisateur"
    echo "entrer un nom"
    read pseudo
    echo "entrer un mot de passe"
    read mdp
    useradd -G groupe $pseudo
    echo "$mdp|(passwd --stdin $pseudo)
    echo "utilisateur créé"
    1
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Ou tu mets l'instruction "then" à la ligne :
    if [ -z $nom ]
    then ...
    ou tu mets un point virgule (;) pour séparer les deux instructions :
    if [ -z $nom ] ; then 
    ...
    ;-))
    0
  3. madess
     
    Bonjour,
    ok merci votre aide m'a été benefique.
    mais j'ai un autre probleme avec le script ci-dessous.
    il sert a créer un compte utilisateur. Quand je l'execute il fonctionne et le compte est crée mai je n'arrive pas a me loguer avec ce compte utilisateur. il met " login incorrect ou mot de passe incorrect"

    #!/bin/bash
    echo "creation de compte utilisateur: entrer nom de compte"
    read pseudo
    echo "entrer le mot de passe"
    read mdp
    useradd $pseudo
    usermod -g serveur $pseudo
    usermod -p $mdp $pseudo
    echo "utilisateur créé"

    -------------------------fin----------------------------

    je n'arrive pas a me loguer avec le compte utilisateur créé
    SVP aidez moi a resoudre ce probleme
    0
  4. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 659
     
    Serait-ce parce que usermod attend le mot de passe crypté ?
    man usermod
    -p, --password PASSWORD
    The encrypted password, as returned by crypt(3).
    0