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
Avec Bash
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 >
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 ~> unsetenv * ~> env ~> bash bash-3.00$ env PWD=/nfs/s4/space/users/ept1/foubar_v SHLVL=1 _=/usr/bin/env bash-3.00$
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 .
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] >
Merci pour vos futures reponses
Partager