This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Portable Cygwin: replacing drivename in a text file
- From: Alexandre Bezroutchko <abb at gremwell dot com>
- To: cygwin at cygwin dot com
- Date: Wed, 24 Nov 2010 14:32:37 +0100
- Subject: Re: Portable Cygwin: replacing drivename in a text file
- References: <4CED0E0D.4080106@bonhard.uklinux.net>
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