This is the mail archive of the cygwin 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: Script to Auto CYGWIN -U all environment varialbes


> 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


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