Rechercher : dans
Par :

Script bash

Dernière réponse le 19 nov 2007 à 18:12:38 madess, le 16 nov 2007 à 13:28:35 
 Signaler ce message aux modérateurs

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

Meilleures réponses pour « script bash » dans :
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Coloration du shell (bash) VoirPourquoi le faire? Quelles informations peuvent être transmises par les couleurs? Les techniques Technique de tput Pourquoi le faire? En personnalisant la couleur des caractères de l'invite (ou du shell), vous la rendez plus lisible. Si...

1

jipicy, le 16 nov 2007 à 13:35:23

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 
...
;-))

Z'@+...che.
JP : Zen, my Nuggets ! ;-)
Le savoir n'est bon que s'il est partagé.

Répondre à jipicy

2

madess, le 17 nov 2007 à 16:18:39

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

Répondre à madess

3

dubcek, le 17 nov 2007 à 16:39:18

Serait-ce parce que usermod attend le mot de passe crypté ?
man usermod
-p, --password PASSWORD
The encrypted password, as returned by crypt(3).

Répondre à dubcek

4

 madess, le 19 nov 2007 à 18:12:38

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éé"

Répondre à madess