Newgrp dans .profile

remek -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

je travaille sur un serveur sous Linux et souhaiterais changer mon fichier ".profile" pour me donner le choix, au lancement, de changer de groupe de travail. J'ai ecrit le code suivant:

$ r="y"
$ read -t 5 -p "Travailler dans le groupe PARIS ? (y/n) " r
$
$ if [ "$r" == "y" ]
$ then
$ newgrp PARIS
$ echo "Vous travaillez maintenant dans le groupe PARIS"
$ else
$ echo "Vous ne travaillez pas dans le groupe PARIS"
$ fi
$
$ s="/home/moi/monchemin/"

L'idee est de choisir entre deux environnements de travail au lancement, et de definir des variables (qui peuvent eventuellement changer selon le groupe de travail retenu).

Cela fonctionne bien, excepte que si je reponds "y", le message "Vous travaillez maintenant dans le groupe PARIS" n'apparait pas comme attendu et ma variable "s" n'est pas sauvegardee... Je pense que c'est parce que "newgrp" lance un nouveau shell, et donc les commandes qui suivent sont simplement ignorees...

Quelqu'un aurait-il une idee pour resoudre ce probleme ?

Merci d'avance pour votre aide !

remek
Configuration: Linux

1 réponse

  1. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    il me semble que ce n'est pas possible parce que comme tu le dis, newgrp lance un shell.
    si tu veux exécuter plusieurs commandes en changeant de groupe, dans un script par ex., tu peux faire
    newgrp group << XX
    commande1
    commande2
    XX
    0