Problème avec mon script shell?

Fermé
phplover Messages postés 22 Date d'inscription samedi 20 avril 2013 Statut Membre Dernière intervention 13 mai 2014 - 20 avril 2013 à 16:17
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 20 avril 2013 à 18:56
j'ai un ptit problème vec mon script
ça affiche le menu et une fois j'écris mon choix elle me donne la phrase à afficher par défaut erreur et termine le script ? que dois-je faire???
merci d'avance


1*) echo ' saisir le nom d'utilisateur à créer'
read $useraj
useradd $useraj
echo ' l'utilisateur $useraj a été crée avec le mot de passe $pass .'
;;
2*)
echo 'saisir le nom d'utilisateur à supprimer'
read $usersup
userdel $usersup
echo ' l'utilisateur $usersup a été supprimé.'
;;
3*)
var=$ (who)
echo 'les utilisateurs connectés sont $var'
;;
4*)
exit
;;
*)
echo 'erreur'
;;
esac
A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 419
20 avril 2013 à 18:56
Salut,

Plein d'erreur dans ta syntaxe bash ;-((

echo ' saisir le nom d'utilisateur à créer'
echo ' l'utilisateur $useraj a été crée avec le mot de passe $pass .'


Si tu emploies des quotes simples pour l'affichage, il faut penser à protéger les quotes contenues dans ta phrase, ou mieux utiliser des quotes doubles, ce qui aura l'avantage de pouvoir interpréter les éventuelles variables qui s'y trouvent, donc :

echo  "saisir le nom d'utilisateur à créer"
echo "l'utilisateur $useraj a été crée avec le mot de passe $pass ."


read $useraj
Pas de signe dollar pour déclarer des variables, uniquement pour leur utilisation par la suite :

read useraj
echo "${useraj}"

L'utilisation des accolades autour des variables est une bonne habitude à prendre...
0