Portable Cygwin: replacing drivename in a text file

Alexandre Bezroutchko abb@gremwell.com
Wed Nov 24 14:33:00 GMT 2010


I'm not the expert on cygwin.exe, but there might be an easier way to 
solve you problem.

For POSIX shell scripts you could keep a symlink /my-usb-stick pointing 
to /cygdrive/X, and use that symlink in your scripts. Similarly, for 
Windows batch scripts you keep drive mapping with native Windows 'subst' 
command.

This way you will need to only update the symlink and the drive 
substitution, not the scripts themselves.

Best regards,
Alex
www.gremwell.com

On 11/24/2010 02:07 PM, Fergus wrote:
> Running Cygwin off a portable USB stick.
>
> Different host machines typically allocate a different drivename to 
> the stick.
>
> Previous use, say it was J:. A not-quite-portable application needed a 
> settings.ini file built with many occurrences of the string 
> j:\usr\local\bin. The file was built and saved.
>
> Current use: now it's K:.
>
> I could re-configure settings.ini with
> sed -i 's/j:/k:/g' settings.ini
> but in general I don't know (and don't want to bother with) what the 
> drivename labels were, or are. Something like
> sed -i 's/.:\\/ replacementstring /g' settings.ini
> will in fact be sufficiently strong to make the change olddriveletter: 
> to newdriveletter: where, and only where, I need it, but experiment as 
> I might with
> replacementstring = cygpath -w
> replacementstring = `cygpath -w`
> and other variations, I can't get the syntax quite right.
>
> Can anybody help, please? Thank you very much.
>
> Fergus
>
> -- 
> 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
>


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



More information about the Cygwin mailing list