[SHELL] comment rediriger les erreurs ?

Fermé
m'sieur rosé - 1 févr. 2010 à 10:55
 m'sieur rosé - 1 févr. 2010 à 11:49
Bonjour,
j'ai commencé le shell hier matin et j'ai déjà fait un script d'ajout d'utilisateurs :

#!/bin/bash

usr="adduser"
date=`date`

#demande du nombre d'utilisateurs que l'on veut créer
echo "combien d'utilisateurs voulez-vous créer ?"
read nb

#pour i allant de 1 utilisateur au nombre choisi d'utilisateurs à ajouter, saisir les noms
for i in `seq1 $nb`
do echo "saisir le nom de l'utilisateur $i"

#saisie du nom d'utilisateur
read user

#si on ne veut créer aucun utilisateur, taper entrée
if [ "${user}" == '' ]; then
echo "vous n'avez rien saisi, la demande d'ajout est annulée"
exit
fi

#la commande adduser <nom_user> s'execute
$usr $user

#les valeurs de nom d'utilisateur, de date et d'heure sont retournées dans le fichier users.sav
echo "le compte $user a été créé le $date" >> /home/niko/users.sav
done

J'aimerai savoir comment je peux faire pour rediriger un message d'erreur dans un fichier texte
par exemple si l'utilisateur existe déjà, j'aimerai afficher dans un fichier l'erreur créée par l'execution du script qui ajouterai cet utilisateur déjà créé

need help !
A voir également:

3 réponses

Bonjour,
Serait-ce avec la commande tee ?
Dans ce cas là, comment l'utiliser ?
0
snow_frog Messages postés 216 Date d'inscription jeudi 5 février 2009 Statut Membre Dernière intervention 26 juin 2020 139
1 févr. 2010 à 11:31
bonjour,

peut être que ça peut faire l'affaire: ?

ma_commande 2> rapport_erreur


signification: redirige les erreurs lors de l'execution de ma_commande dans le fichier rapport_erreur
0
oui, cette syntaxe toute seule retourne obligatoirement l'erreur "L'utilisateur <nom> existe déjà"
il faudrai arriver à créer une condition avec fi => fi
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
1 févr. 2010 à 11:39
0