delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2025/01/02/04:35:23

DMARC-Filter: OpenDMARC Filter v1.4.2 delorie.com 5029ZM6v3908569
Authentication-Results: delorie.com; dmarc=pass (p=none dis=none) header.from=cygwin.com
Authentication-Results: delorie.com; spf=pass smtp.mailfrom=cygwin.com
DKIM-Filter: OpenDKIM Filter v2.11.0 delorie.com 5029ZM6v3908569
Authentication-Results: delorie.com;
dkim=pass (1024-bit key, unprotected) header.d=cygwin.com header.i=@cygwin.com header.a=rsa-sha256 header.s=default header.b=pzXAAnQw
X-Recipient: archive-cygwin AT delorie DOT com
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 6EB7A3857810
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com;
s=default; t=1735810519;
bh=c/doLcipuBgcZpAwmdAZOKypcQSLV/NtibEm846Olm4=;
h=Date:Subject:To:References:In-Reply-To:List-Id:List-Unsubscribe:
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To:
From;
b=pzXAAnQwpQGgvaYCTVjCQw6TcXwOUkLU0lBJp1b+0T9B4qRvS8tCRUrMnk3aV1bSf
UaML2txv730ljltJqqWeBNbFKYhm812QVBgnH8KJBbfQLnYw2//0+eC8Q/uZa1rGh2
w3dDRNjE/52aap1K9Kt4OeQo/aMNWcSKfSC9Tb4s=
X-Original-To: cygwin AT cygwin DOT com
Delivered-To: cygwin AT cygwin DOT com
DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org E7C56385780F
ARC-Filter: OpenARC Filter v1.0.0 sourceware.org E7C56385780F
ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1735810451; cv=none;
b=d7aMxzwsws2ptzIAEmt8XvbqLghCUqCWQk+nJMWMhCwTNSU+E2+YLchv6cFYvjPvtJ7W2TPyZ8x749HUzCnraCzMKzlA/cPYi9vqMdbhIq9n9pJoz8CUetNQbdfvX3JC1vjjRw1sPYbu10OZlgpim2zKtQvn2DsOu9wIeY6y16w=
ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key;
t=1735810451; c=relaxed/simple;
bh=hBUHBwboBmZoezXxwbyeEeFnlmZioa+MMQKze5+EnnM=;
h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From;
b=ij4JMgcg1vd6XdwcpzrKGnXGQNK5PMLxBA7Dvp6LSzG5ZaYt0xiTNRyxOBTbtcxTWm/N9433awKJowkHaIfPYsY6iA+PCqIVeOsDG4IrC1UhsSZIl1+B0KPziTHrITAmBN2DlrhFLl50R1Zldq7fHC4BbZxEzjTQlS2K/dH7fJc=
ARC-Authentication-Results: i=1; server2.sourceware.org
DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E7C56385780F
Message-ID: <8ec51c94-fdb0-4fb1-8d89-97e5c513f5ed@kircheis.it>
Date: Thu, 2 Jan 2025 10:34:06 +0100
MIME-Version: 1.0
Subject: Re: env and PATH
To: cygwin AT cygwin DOT com
References: <77a3709d-ec4d-497b-bf6c-75f29dc8c992 AT kircheis DOT it>
<b04cbe33-2461-448d-bce7-39a703ece625 AT SystematicSW DOT ab DOT ca>
In-Reply-To: <b04cbe33-2461-448d-bce7-39a703ece625@SystematicSW.ab.ca>
X-BeenThere: cygwin AT cygwin DOT com
X-Mailman-Version: 2.1.30
List-Id: General Cygwin discussions and problem reports <cygwin.cygwin.com>
List-Archive: <https://cygwin.com/pipermail/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-request AT cygwin DOT com?subject=help>
List-Subscribe: <https://cygwin.com/mailman/listinfo/cygwin>,
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe>
From: Federico Kircheis via Cygwin <cygwin AT cygwin DOT com>
Reply-To: Federico Kircheis <federico AT kircheis DOT it>
Sender: "Cygwin" <cygwin-bounces~archive-cygwin=delorie DOT com AT cygwin DOT com>
X-MIME-Autoconverted: from base64 to 8bit by delorie.com id 5029ZM6v3908569

On 20/12/2024 23.15, Brian Inglis via Cygwin wrote:
> 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

I did some other testing

 From cygwin, without using env explicitly

 > PATH='D:\windows' 
/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
 > echo $env:PATH
D;C:\windows

(similar result for cmd)

 From powershell

 > $env:PATH="D:\windows"
 > C:/Windows/System32/WindowsPowerShell/v1.0/powershell.exe
 > echo $env:PATH
D:\windows

(similar result for cmd)

I also tried

PATH='D:\windows' /usr/bin/cygstart 
/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe

hoping it would do the trick, but PATH is still "broken", and powershell 
starts in a separate window :(

> 
> 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

-- 
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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019