voila je n’ai jamais rien scripté de ma vie, et il faut que je commence. et j’ai l’impression que ce que je cherche à faire est compliqué.
je cherche à tester si l’utilisateur toto existe.
S’il existe alors, il faut faire un "usermod -u 444 -g 4 --shell /bin/bash toto"
s’il n’existe pas alors il faut faire “useradd -m -u 444 -g 4 --shell /bin/bash toto”
je me doute pour qui fait des script tout le temps ya rien de compliqué, mais pour le néophyte que je suis ca semble bien compliqué,
Sauf que Keneichi demande si toto existe, pas s’il est connecté.
Je ferais plutôt : cut -d: -f1 < /etc/passwd |grep toto && usermod -u 444 -g 4 --shell /bin/bash toto || useradd -m -u 444 -g 4 --shell /bin/bash toto
La ligne à l’air longue mais est simple :
cut et grep font partie des utilitaires de bases du système,
si tu veux apprendre à scripter tu ne pourras pas les contourner.
le fichier /etc/passwd ( qui contient la liste des utilisateurs ) est envoyé en entrée ( avec < ) à la commande cut avec : comme délimiteur,
-f1 n’affiche que le premier champ ( le nom des utilisateurs ), la sortie est pipée dans grep par | et toto ( l’argument de grep est recherché )
si il est trouvé le shell passe de l’autre coté du && (et) sinon il passe de l’autre coté du || (ou).
la solution fonctionne impeccablement !
elle correspond tt à fait à ce que je voulais faire !
merci encore
(et désolé ricardo d’avoir posté au mauvais endroit!)