Script Bash et conditions
pcsystemd
Messages postés
734
Statut
Membre
-
pcsystemd Messages postés 734 Statut Membre -
pcsystemd Messages postés 734 Statut Membre -
Bonjour,
voila j'ai une portion de mon script qui fait une mise a jour selon l'user toto. Je souhaite maintenant faire cela mais selon l'utilisateur (toto,tata,tutu).
ex : si c'est toto fait ça
si c'est tata fait ça
si c'est tutu fait ça
Je souhaiterais savoir de qu'elle façon la plus propre dois je m'y prendre.
Merci beaucoup.
voila j'ai une portion de mon script qui fait une mise a jour selon l'user toto. Je souhaite maintenant faire cela mais selon l'utilisateur (toto,tata,tutu).
ex : si c'est toto fait ça
si c'est tata fait ça
si c'est tutu fait ça
Je souhaiterais savoir de qu'elle façon la plus propre dois je m'y prendre.
Merci beaucoup.
do
case $1 in
-u) USER=$2
shift 2
;;
-h) usage
exit 0
;;
*)
break
;;
esac
done
DATE="`date '+%Y-%m-%d'`"
if [ "${USER}" == "toto" ]
then
TMPDIR="/tmp/totomaj"
mkdir -p ${TMPDIR}
HOMEUSER="/home/toto"
REPMAJ="totomaj"
REP="${HOMEUSER}/${REPMAJ}/liste_objets"
LISTEOB="liste_ob_${DATE}.lst"
LISTEOBTMP="liste_ob_tmp_${DATE}.lst"
NEWDIR="liste_ob_rep_${DATE}.lst"
if [ -e "${TMPDIR}/totomaj.lock" ]
then
echo "une maj et en cours " | mail -s "error (majtoto.sh) de mise à jour objet \"${DATE}\" " titi@truc.net
exit 0
fi
touch ${TMPDIR}/totomaj.lock
else
echo "error utilisateur ${USER}" | mail -s "error (majtoto.sh) de mise à jour objet \"${DATE}\" " titi@truc.net
exit 1
fi
##creation des répertoires au cas où
if [ ! -d "${TMPDIR}" ]
then
mkdir -p ${TMPDIR}
fi
if [ ! -d "${REP}" ]
then
mkdir -p ${REP};chown exemple ${REP};chmod u,g+rwx ${REP}
fi
A voir également:
- Bash -n condition
- Excel cellule couleur si condition texte - Guide
- Bingo bash free - Télécharger - Divers Jeux
- Bash addition - Forum Shell
- Excel condition ou - Guide
- Excel copier une cellule si condition ✓ - Forum Excel
je pense que dans mon cas cela ne suffise pas puisque les commandes ne sont pas les meme pour chaque USER. Je dois donc differencier l'USER par :
if [ "${USER}" == "toto" ] else if [ "${USER}" == "tata" ] else if [ "${USER}" == "titi" ] else fiMerci
Toute les commandes ? Parce que d'après ton exemple j'avais compris que les commandes étaient communes et que seuls les répertoires et noms de dossiers changeaient...
Sinon passe par un :non ?
Une autre question j'ai une variable du style
REPMAJ=MaJObjet
qui est un repertoire qui est dans /home/toto/MaJObjet pour l'utilisateur toto. J'ai créer un repertoire MaJObjet1 et MaJObjet2, 3, 4 Mais maintenant comment je peux faire pour que selon l'utilisateur la variable REPMAJ prenne la bonne valeur.
Merci
L'accès au savoir est la première liberté que chaque homme devrait avoir.