how to embed shell script within a .BAT file
Nellis, Kenneth
Kenneth.Nellis@xerox.com
Mon Nov 10 14:49:00 GMT 2014
> From: Jeremy Bopp
>
> On 11/07/2014 03:26 PM, Nellis, Kenneth wrote:
> > I'm tired of creating pairs of script files: a clickable .BAT file to
> > invoke my shell script and then my shell script to do the actual work.
> > I was wondering if any of the geniuses on this list have come up with
> > a way to embed a shell script inside a clickable .BAT file.
> Something like this might do. It assumes you know the path to the Cygwin
> bin directory. Passing in arguments would be a bit more work and would
> probably be somewhat limited unless you have a small number of possible
> arguments.
>
> FYI, I don't have a Windows system readily available anymore, so this is
> untested.
>
> Shelly.bat:
>
> @echo off
>
> rem Put Cygwin bin directory into PATH
> set PATH=C:\cygwin\bin;%PATH%
>
> type %0 | sed "0,/^---BASH SCRIPT FOLLOWS---/ d; s/\r*$//" | bash
> goto :eof
>
> ---BASH SCRIPT FOLLOWS---
> echo $SHELL is alive
> ^Z
Thanx to Jeremy, Andrey, and the others who responded.
Jeremy's solution is closest to what I was looking for; however
I need it to work from a networked, non-drive-mapped folder.
(CMD.EXE doesn't like UNC paths.) I hadn't realized that I could
pipe a script into bash.
Andrey also suggested something that allows Windows-clickable
script files, a strict requirement, bypassing the stated, but
unnecessary requirement that it be a .BAT file, by associating
a file type with bash. This would bypass the UNC issue, so may
end up being the best solution for me.
--Ken Nellis
--
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