Définir une variable selon utilisateur script Shell

Bonjour,

je me lance dans un script BASH et je souhaiterais savoir comment définir la valeur d’une variable selon l’utilisateur .Je m’explique

j’ai plusieurs utilisateurs :

toto
tata
titi

chaque utilisateur a un repertoire du sytle

majtoto
majtata
majtiti

j’ai ma variable

REPMAJ

Je souhaiterais pouvoir définir la valeur de cette variable selon l’utilisateur pour que les fichiers se copient dans le bon dossier.

Avez vous une piste?

Merci

C’est selon l’utilisateur qui lance le script ?

Si c’est le cas, tu peux récupèrer le résultat de whoami

Merci themorice,

mais ce n’est pas selon l’utilisateur puisque tous mes scripts ne se lancent que sous un seul utilisateur, c’est plutôt selon le répertoire qui lui est assigné.

Effectivement dans le début de mon script j’ai défini mon utilisateur et son répertoire comme suit

[code]if [ “${USER}” == “toto” ]
then

mkdir -p ${TMPDIR}
HOMEUSER="/home/toto"
REPMAJ="MaJToto"

exit 0

else if [ “${USER}” == “tata” ]
then

mkdir -p ${TMPDIR}
HOMEUSER="/home/tata"
REPMAJ="MaJTata"

exit 0

else if [ “${USER}” == “titi” ]
then

mkdir -p ${TMPDIR}
HOMEUSER="/home/titi"
REPMAJ="MaJTiti"

exit 0[/code]

Merci

Si comme le demande “themorice” le script est lancé par l’utilisateur.


REPMAJ=/ton/path
USER=/usr/bin/whoami

mkdir $REPMAJ/$USER

Par contre si c’est pour une liste d’utilisateurs. Tu peut faire un grep sur le fichier passwd et avec un “for” cropier le répertoire pour un chaque utilisateur.

REPMAJ=/ton/path
USER=$(cat /etc/passwd | cut -d: -f1 | grep ^t)

for u in $USER; do mkdir $REPMAJ/$u; done

J’ai fait un grep ^t pour tous les utilisateurs qui commence avec la lettre t

Merci . Je vais étudié toutes ces infos et je vous tiens au courant.

Tu n’as pas besoin de deux “=” en bash. En C oui…

Merci pour le partage. Il est grand

plan solution commission de surendettement - commission de surendettement, vous pouvez demander un dossier de surendettement.plan solution commission de surendettement

@Ludo > [code]REPMAJ=/ton/path
USER=$(cat /etc/passwd | cut -d: -f1 | grep ^t)

for u in $USER; do mkdir $REPMAJ/$u; done
[/code]

J’aurais juste deux remarques :
[ul]
[li]cat c’est le mal.[/li]
[li]USER est déjà définis même pour root donc vaut mieux pas sur charger même si on ne fait pas un export.[/li][/ul]