IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C Discussion :

Recreer un environnement


Sujet :

C

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Par défaut Recreer un environnement
    Voila mon probleme dans le but des mes etudes je dois recoder un shell.

    Mon soucis est que en temps normal j'arrive a recuperer mon environnement.
    Cependant je ne vois pas comment recreer cet environnement si l'utilisateur l'a desactive avant l'execution de mon shell.

    un exemple


    Avec tcsh
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    ~> unsetenv *
    ~> env 
    ~> tcsh
    > env
    HOSTTYPE=NetBSD
    VENDOR=intel
    OSTYPE=NetBSD
    MACHTYPE=i386
    SHLVL=1
    PWD=/nfs/s4/space/users/ept1/foubar_v
    LOGNAME=foubar_v
    USER=foubar_v
    GROUP=ept1
    HOST=grep
    >
    Avec Bash

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    ~> unsetenv *
    ~> env
    ~> bash
    bash-3.00$ env
    PWD=/nfs/s4/space/users/ept1/foubar_v
    SHLVL=1
    _=/usr/bin/env
    bash-3.00$
    Et la l'environnement standard de mon shell

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    PWD=/u/ept1/foubar_v/rendu/c/proj/42sh
    KRB5CCNAME=FILE:/tmp/krb5cc_71104_20426b
    HOME=/u/ept1/foubar_v
    PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/pkg/bin:/usr/pkg/sbin:/usr/site/bin:/usr/site/sbin:/usr/local/bin:/usr/local/sbin:/usr/school/bin:/usr/school/sbin:/usr/pie/bin:/usr/pie/sbin:/usr/X11R6/bin:/usr/X11R6/sbin:/u/ept1/foubar_v/bin:/u/ept1/foubar_v/sbin:/u/ept1/foubar_v/mbim
    HOST=grep
    USER=foubar_v
    GROUP=ept1
    LOGNAME=foubar_v
    VENDOR=intel
    SHELL=/bin/shells/ept1
    SHLVL=2
    DISPLAY=:0.0
    HOSTTYPE=NetBSD
    NS_USER_LINK=ns_user_link_grep_6903
    OSTYPE=NetBSD
    MACHTYPE=i386
    TERM=xterm
    WINDOWID=33554446
    TERMCAP=xterm|vs100|xterm terminal emulator (X Window System):am:bs:km:mi:ms:ut:xn:co#142:it#8:li#66:Co#8:pa#64:AB=\E[4%dm:AF=\E[3%dm:op=\E[m:@1=\EOE:@7=\EOF:@8=\EOM:k;=\E[21~:ac=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~:AL=\E[%dL:DC=\E[%dP:DL=\E[%dM:DO=\E[%dB:IC=\E[%d@:K1=\EOw:K2=\EOy:K3=\EOu:K4=\EOq:K5=\EOs:LE=\E[%dD:RI=\E[%dC:UP=\E[%dA:ae=^O:al=\E[L:as=^N:bl=^G:bt=\E[Z:cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:cr=^M:cs=\E[%i%d;%dr:ct=\E[3g:dc=\E[P:dl=\E[M:do=^J:eA=\E(B\E)0:ec=\E[%dX:ei=\E[4l:ho=\E[H:im=\E[4h:is=\E[m\E7\E[r\E[?7h\E[?1;3;4;6l\E[4l\E8\E>:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:k5=\E[15~:k6=\E[17~:k7=\E[18~:k8=\E[19~:k9=\E[20~:kD=\E[3~:kI=\E[2~:kN=\E[6~:kP=\E[5~:kd=\EOB:ke=\E[?1l\E>:kh=\EOH:kl=\EOD:kr=\EOC:ks=\E[?1h\E=:ku=\EOA:le=^H:md=\E[1m:me=\E[m:mr=\E[7m:nd=\E[C:rc=\E8:sc=\E7:se=\E[m:sf=^J:so=\E[7m:sr=\EM:st=\EH:ta=^I:te=\E[2J\E[?47l\E8:ti=\E7\E[?47h:ue=\E[m:up=\E[A:us=\E[4m:ve=\E[?25h:vi=\E[?25l:vs=\E[?25h::ZZ=0x80ae400:kb=\010:
    PAGER=less
    EDITOR=emacs
    XTERM_OPTS=-T grep@foubar_v -n grep@foubar_v -ls
    PROMPT=< %b42sh [%t] >
    Ma question est quelle est la maniere la plus simple de retrouver ces informations. Car si je n'est pas cette base d'environnement mon programme me renvoit un SIGSEV .


    Merci pour vos futures reponses

  2. #2
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 644
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 644
    Par défaut
    Salut,

    Ne pourrais tu pas envisager de faire un tour du coté du fichier /etc/profile sous une forme proche de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    SI USER existe ET USER!=""
    |   ok, on a les variables environnement
    SINON
    |   USER = "nobody" 
    |   utiliser /etc/profile pour charger un environnement par defaut
    FIN SI
    je n'ai mis que l'algorithme tout à fait basique et générique, mais, selon moi, ca te permettra peut etre d'avancer

    Pour information, je me suis orienté vers l'utilisateur nobody, pour la simple et bonne raison que c'est celui qui a, par défaut, les autorisations les moins permissives... à toi de voir si tu ne préferes pas, tout de suite, lui donner les droits de root
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

  3. #3
    Membre averti
    Profil pro
    Étudiant
    Inscrit en
    Mars 2007
    Messages
    39
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2007
    Messages : 39
    Par défaut
    Merci pour cette info je vais aller chercher dans ce coin la voir ce que j'arrive a en sortir

Discussions similaires

  1. Environnement graphique et portabilité
    Par viddak dans le forum Linux
    Réponses: 3
    Dernier message: 11/06/2003, 13h57
  2. Virer l environnement...
    Par Kukrapok dans le forum DirectX
    Réponses: 1
    Dernier message: 18/11/2002, 05h47
  3. [BES] Création d'une variable d'environnement
    Par NGI80 dans le forum Autres
    Réponses: 2
    Dernier message: 17/10/2002, 07h31
  4. nom de fichier et variables d'environnement
    Par joebarthib dans le forum Langage
    Réponses: 2
    Dernier message: 18/07/2002, 15h21
  5. Réponses: 4
    Dernier message: 18/07/2002, 13h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo