Indeed there are 4!  But have been using ShellPkg for several months now.

So you are suggesting that I set the CWD variable in my current program
before calling ShellExecute()?  Clearly I can't use
gEfiShellProtocol->SetEnv(EnvKey, EnvVal, Volatile) because this would set
the *shell's* current working directory?  (why does this function exist?
 Shouldn't it be taboo for a child program to affect the parent's
environment?)

Now there is an Env argument for ShellExecute where a separate copy of the
environment could be built by the popen code from prg2's env for prg3,
which would not mutilate the envronments for prg1 or prg2 - but I can't get
it to work as of yet...

here's a picture:

(prg1)  Shell2.efi      (shell starts python via a command line)
(prg2)  Python.efi     (python's os.popen() - which I'm attempting to
                                        implement - builds the Env for prg3
and
                                        replaces the cwd value with a new
value
                                        to run a new shell command lets say
'dir')
(prg3)  Shell2.efi      (second shell executing 'dir > tmpfile')

If python uses gEfiShellProtocol->SetEnv() it will change (prg1)'s cwd, no?

This is the only thing that makes sense - but I'm having to mess with the
StdLib a lot to support the POSIX idea of an individual cwd per program.
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to