This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Enviroment always uppercased; Help me, please


When bash is called by a windows program, such as command.exe, or 
explorer.exe, there is no problem with variables that are set *after* 
you invoke bash. If I start a command shell, then invoke bash and set a 
var, then invoke env, it works (as I showed in my first message). As you 
said, windows is not compiled against cygwin1.dll, so bash must be 
started from windows. The key is you must set the environment variable 
in bash, and invoke env from bash, for env to be case sensitive on the 
varible name. If the variable is set in a cmd shell or passed through a 
cmd shell, it will not be case sensitive when looked at with env.

HTH,
Peter

Markus K. E. Kommant wrote:

> It will work with MKS Toolkit Shell. 
> The program is started by my own (non cygwin compiled) program.
> Every other program, execpt programs compiled with cygwin, are okay.
> 
> The bug is inside cygwin, not in Windows or cmd.exe.
> 
> I am using my own pdksh.exe port. But even bash must be called by Windows
> programs. And then there will be a problem.
> 
> best regards
>    Markus
> 
> 
>>-----Original Message-----
>>From: Peter Buckley [mailto:peter.buckley@cportcorp.com]
>>Sent: Thursday, February 28, 2002 4:26 PM
>>To: Markus K. E. Kommant; cygwin@cygwin.com
>>Subject: Re: Enviroment always uppercased; Help me, please
>>
>>
>>Sounds like a problem with starting env directly from the 
>>command shell. 
>>Like he said, don't start cygwin programs from non-cygwin 
>>programs, i.e. 
>>don't run env from the command shell- use bash instead.
>>
>> From a cmd shell-
>>
>>cmd> set cAsE=sEnSiTiVe
>>cmd> env | grep -i case
>>CASE=sEnSiTiVe
>>
>> From a bash shell-
>>
>>bash> export cAsE=sEnSiTiVe
>>bash> env | grep -i case
>>cAsE=sEnSiTiVe
>>
>>HTH,
>>Peter
>>
>>Markus K. E. Kommant wrote:
>>
>>
>>>No, it doesn't
>>>
>>>When calling env.exe (compiled with cygwin1.dll), cygwin 
>>>
>>programs installed
>>
>>>in c:/usr/bin
>>>
>>>starting cmd.exe:
>>>
>>>C:\>set garfield=1234
>>>C:\>c:\usr\bin\env.exe | c:\usr\bin\grep -i gar
>>>GARFIELD=1234
>>>
>>>env.exe (the cygwin program) has uppercased the environment.
>>>(the set in the example was the set of cmd.exe, useally 
>>>
>>there is no set.exe
>>
>>>in /usr/bin)
>>>
>>>The solution, to start a cygwin program "NOT" from another 
>>>
>>cygwin program is
>>
>>>impossible on Windows. B. Gates won't rebuild Windows with useage of
>>>cygwin1.dll?
>>>
>>>And this is not typical for Windows (as you see by using 
>>>
>>set from cmd.exe)
>>
>>>and it is not typical for UNIX and POSIX. 
>>>
>>>To uppercase some Environment values can make sense.
>>>
>>>When exporting them to a DOS (and some Windows programs), 
>>>
>>but this is not
>>
>>>done by cygwin.
>>>
>>>And it could make sense to uppercase *some* variables, 
>>>
>>which come from
>>
>>>Windows programs, see MKS Toolkit, like PATH, instead of 
>>>
>>Path, and some
>>
>>>more, but this is optional. Else the use of cygwin is very 
>>>
>>restricted. I
>>
>>>solved this problem in a port of the pdksh very 
>>>
>>carefully... But all the
>>
>>>work is trash, if startupcode will change the environment - without
>>>notification or option to stop it.
>>>
>>>At the moment I am looking for a stable way (see thread Re: 
>>>
>>cygwin gcc DLLs
>>
>>>loaded by Visual C++ crashing) to call the pdksh.exe as a 
>>>
>>pdksh1.dll.
>>
>>>But the solution posted is not stable at the moment. After 
>>>
>>a while the
>>
>>>programs will hang.
>>>But the environment is okay (startupcode of MSVC seems to 
>>>
>>be okay...).
>>
>>>At least. Using the original Environment in cygwin is 
>>>
>>impossible. (> As cfg
>>
>>>said: "Don't start the program from a non cygwin program")
>>>
>>>The solution could be a user build cygwin1.dll without the 
>>>
>>Environment
>>
>>>hack?!? Anybody?
>>>
>>>Markus
>>>- Thread closed.
>>>
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Hack Kampbjørn [mailto:cygwin@hack.kampbjorn.com]
>>>>Sent: Thursday, February 28, 2002 3:50 PM
>>>>To: Markus K. E. Kommant
>>>>Cc: cygwin@cygwin.com
>>>>Subject: Re: Enviroment always uppercased; Help me, please
>>>>
>>>>
>>>>"Markus K. E. Kommant" wrote:
>>>>
>>>>
>>>>>Really???
>>>>>
>>>>>
>>>>>
>>>>>>Don't start the program from a non cygwin program.
>>>>>>
>>>>>>
>>>>>I am using Windows 2000/NT operating system as the base for 
>>>>>
>>>>>
>>>>my cygwin
>>>>
>>>>
>>>>>programs and not DOS and not Linux.
>>>>>
>>>>>Do anyone know a good trick to use POSIX Environment (or 
>>>>>
>>>>>
>>>>simply real Windows
>>>>
>>>>
>>>>>Environment) without the cygwin-DOS changes.
>>>>>
>>>>>Hopefully waiting for help, without real POSIX I have to 
>>>>>
>>>>>
>>>>look for another
>>>>
>>>>
>>>>>programming base, instead of cygwin...
>>>>>
>>>>>Probably there has anybody build an own cygwin1.dll with 
>>>>>
>>>>>
>>>>POSIX Environment
>>>>
>>>>
>>>>>on Windows???
>>>>>
>>>>>Markus
>>>>>
>>>>>
>>>>I don't know what you're asking for. Cygwin does provide case 
>>>>sensitive
>>>>environment variables.
>>>>
>>>>In a cmd.exe window:
>>>>
>>>>	C:\>set env_var=lowercase
>>>>	C:\>set
>>>>	[...]
>>>>	env_var=lowercase
>>>>	[...]
>>>>	C:\>set ENV_VAR=UPPERCASE
>>>>	C:\>set
>>>>	[...]
>>>>	env_var=UPPERCASE
>>>>	[...]
>>>>	C:\>cygwin
>>>>	$ set | grep -i env_var
>>>>	ENV_VAR=UPPERCASE
>>>>	$ logout
>>>>	C:\cygwin\bin>exit
>>>>
>>>>And in cygwin's bash:
>>>>	$ env_var=lowercase
>>>>	$ ENV_VAR=UPPERCASE
>>>>	$ set | grep -i env_var
>>>>	ENV_VAR=UPPERCASE
>>>>	env_var=lowercase
>>>>	$ bash
>>>>	$ set | grep -i env_var
>>>>	$ exit
>>>>	$ export env_var ENV_VAR
>>>>	$ bash
>>>>	$ set | grep -i env_var
>>>>	ENV_VAR=UPPERCASE
>>>>	env_var=lowercase
>>>>	$ exit
>>>>	$ cmd.exe
>>>>	Microsoft Windows 2000 [Version 5.00.2195]
>>>>	(C) Copyright 1985-2000 Microsoft Corp.
>>>>
>>>>	C:\>set
>>>>	[...]
>>>>	ENV_VAR=UPPERCASE
>>>>	[...]
>>>>	env_var=lowercase
>>>>	[...]
>>>>
>>>>As cfg said: "Don't start the program from a non cygwin program"
>>>>
>>>>-- 
>>>>Med venlig hilsen / Kind regards
>>>>
>>>>Hack Kampbjørn
>>>>
>>>>
>>>>
>>>--
>>>Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
>>>Bug reporting:         http://cygwin.com/bugs.html
>>>Documentation:         http://cygwin.com/docs.html
>>>FAQ:                   http://cygwin.com/faq/
>>>
>>>
>>>
>>
>>-- 
>>1 Timothy 4:12 (NIV)- Don't let anyone look down on you 
>>because you are 
>>young, but set an example for the believers
>>in speech, in life, in love, in faith, and in purity.
>>
>>
> 


-- 
1 Timothy 4:12 (NIV)- Don't let anyone look down on you because you are 
young, but set an example for the believers
in speech, in life, in love, in faith, and in purity.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Bug reporting:         http://cygwin.com/bugs.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]