This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Script to Auto CYGWIN -U all environment varialbes
- From: Andrew Schulman <schulman dot andrew at epamail dot epa dot gov>
- To: cygwin at cygwin dot com
- Date: Tue, 08 Feb 2011 08:44:31 -0500
- Subject: Re: Script to Auto CYGWIN -U all environment varialbes
- References: <011c01cbc717$766ecfe0$634c6fa0$@com>
> Has anyone written anything into their bash profile or whatever that goes
> through each windows environment variable currently extant, and resets them
> via CYGPATH
>
> e.g.
>
> Before, @ start of .bashrc
> ETC=C:\WINDOWS\ETC
>
> After run of .bashrc
> ETC=`$(cygpath -u '$ETC')`; EXPORT ETC (--> /cygpath/c/windows/etc)
>
> Or something like that. So, by the time you hit your cygwin prompt all your
> environment variables are already cleaned up.
Here's my solution. Ugly quoting, but it works.
I chose to convert just a fixed list of environment variables that I know I
want to convert. I guess it would be easy to cycle through all environment
variables and 'bashify' any that look like paths, i.e. any that have
backslashes in them.
# Convert Win32-style paths to Cygwin-style
function bashify {
local p
for p ; do
if [ "${!p}" ] ; then
eval 'export '$p'=$(cygpath -pu "$'$p'")'
fi
done
}
bashify MSDEV PROGRAMFILES WINDIR
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple