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