Hi Federico,

Looks like non-Cygwin program launch is messing up PATH not on the current 
drive:

$ cd /proc/cygdrive/d
$ cat -A /proc/cygdrive/d/tmp/t.cmd
echo %PATH%^M$
$ env -i PATH='C:\Windows;C:\Windows\system32;' /bin/sh -c 'echo $PATH'
C:\Windows;C:\Windows\system32;
$ env -i PATH='C:\Windows;C:\Windows\system32;' `cygpath $COMSPEC` /s /c \
"d:\tmp\t.cmd"
D:\>echo C;D:\Windows;C;D:\Windows\system32;
C;D:\Windows;C;D:\Windows\system32;
D:\>exit

On 2024-12-20 09:51, Federico Kircheis via Cygwin wrote:
Hello to everyone,


I've noticed that env seems to handle the environment variable PATH in a particular way


-----
 > cd /d;
> env -i PATH='C:\Windows;C:\Windows\system32;' /c/Windows/System32/ WindowsPowerShell/v1.0/powershell.exe
# in the powershell instance
echo $env:PATH
C;D:\Windows;C;D:\Windows\system32;
----


From this and other examples it seems that env uses for PATH  as separator, then preprends the current drive to all paths that begin with '\' (thus all of them), and ";" is treated as part of the path


I would like to use the PATH as-is in the invoked program, just like it is done for other variables, for example

----
cd /d
env -i OPATH='C:\Windows;C:\Windows\system32;' /c/Windows/System32/ WindowsPowerShell/v1.0/powershell.exe
# in the powershell instance
echo $env:OPATH
C:\Windows;C:\Windows\system32;
----

in this case OPATH is forwarded as-is to powershell.exe.

I understand that PATH is special, that for cygwin processes some transformation might be necessary.

But is there any way to achieve what I'm trying?

I search if there is maybe a separation option for telling env to use PATH as- is, but could not find none.


Best

Federico


--
Take care. Thanks, Brian Inglis              Calgary, Alberta, Canada

La perfection est atteinte                   Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter  not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer     but when there is no more to cut
                                -- Antoine de Saint-Exupéry


--
Problem reports:      https://cygwin.com/problems.html
FAQ:                  https://cygwin.com/faq/
Documentation:        https://cygwin.com/docs.html
Unsubscribe info:     https://cygwin.com/ml/#unsubscribe-simple

Reply via email to