From: earnie_boyd AT hotmail DOT com (Earnie Boyd) Subject: Port of BASH-1.14.2 to WINNT 18 Apr 1998 05:34:33 -0700 Message-ID: <19980417133759.15136.qmail.cygnus.gnu-win32@hotmail.com> Content-Type: text/plain To: colin AT bird DOT fu DOT is DOT saga-u DOT ac DOT jp, J DOT J DOT vanderHeijden AT student DOT utwente DOT nl, khan AT xraylith DOT wisc DOT edu, hgfernan AT usp DOT br, bartlee AT hotmail DOT com, hezekiah AT rahul DOT net, gnu-win32 AT cygnus DOT com, earnie_boyd AT hotmail DOT com I've found a port of BASH to native WINNT at this URL: http://wwwhost.cc.utexas.edu/ftp/microlab/nt/new This port is by Paul Budnik of Mountain Math Software. I've included his description of the port below. I know that this port runs and executes simple commands. I haven't yet given it a good configure script test. I haven't tried in on W95. - \\||// ---o0O0--Earnie--0O0o---- -earnie_boyd AT hotmail DOT com- ------ooo0O--O0ooo------- -------------- microlab/nt/new/bash_nt-1.14.2.txt ------------------- I have uploaded the file `bash_nt-1.14.2.tar' to //microlib.cc.utexas.edu/microlib/nt/incoming This is Mountain Math Software's port of GNU Bash to Windows NT. If you dearchive this file it will create the following files under directory `bash_nt-1.14.2'. 420 Dec 17 21:18 00index.txt 1061 Dec 17 21:11 IAFA-bash_nt-1.14.2 172280 Dec 17 21:12 bash_nt-1.14.2-bin.tar.gz 248250 Dec 17 21:12 bash_nt-1.14.2-doc.tar.gz 1360312 Dec 17 21:11 bash_nt-1.14.2-src.tar.gz I assume the plase to put it would be under `microlib/nt/gnu/bash_nt-1.14.2'. I am posting the attached announcement which describes the package. I would appreciate it if you could send me a message saying in what directories you placed the files. Thanks, Paul Budnik ______________________________ Mountain Math Software announces the Beta site release of a port of `bash' the `born again shell' to Windows NT 3.5. This port is based on GNU code and uses some of the Downhill Project code but it is solely the responsibility of Mountain Math Software. Although this is a somewhat crippled and not fully compatible `bash' it is still immensely superior to `cmd.exe'. There are many things one needs to do, especially in working with large software projects, that require a fully functioning command line shell. This port of `bash' is a freely distributable (under the GNU General Public License) shell that meets that need. I have uploaded the code to `SunSITE.unc.edu' and `microlib.cc.utexas.edu' I will post a second message when I know exactly where the files will be located. There are three archives: bash_nt-1.14.2_bin_tar.gz -- executables and installation instructions bash_nt-1.14.2_src_tar.gz -- source code bash_nt-1.14.2_doc_tar.gz -- postscript format documentation Porting issues and limitations If GNU is not Unix Windows NT is not even remotely close. The biggest problem in porting bash is the lack of a fork on Windows NT. There is no way to replace forks with threads and spawns in the existing code without an extensive rewrite. I did not do this and as a result this port is not a full implementation and some of what has been implemented is not fully compatible with standard bash. There remains a high level of compatibility and many existing scripts should work with little or no modification. Known limitations and incompatibilities 1. Job control is not implemented. This is not so serious a limitation on a windows system. If you execute a disk command with no pipes in background mode (using &) it will execute in a separate window. This provides some of the advantages of job control. 2. Internal commands that get input from a pipe are converted to disk commands (bash -c string) and thus operate in a different environment then they do in standard bash. I am not sure how much difference this makes. Note `history | more' works as you would expect because you are not piping the *input* of history. 3. Executing commands in parenthesis is not implemented. You will get an error message saying this is not supported in this implementation. 4. There is no support for signals other than to catch and ignore ^C. (You cannot do a longjmp inside a Window NT signal handler and the existing bash code makes heavy use of this.) 5. If a shell has its input redirected to a file and it invokes a disk command or subshell the invoked command cannot read from the same file at the point the calling shell stopped reading. (I do not know how or if this can be made to work on Windows NT. If you know how to make it work please let me know.) 6. There are certainly others. I would appreciate feedback on what is missing and what you consider important. Motivation I am doing this because I want to port a large application that is in part a development environment from Linux to Windows 95. Bash is essential to make this practical. In a broader context I would like to see bridges developed so much of the software that will be developed for Window 95 will not be tied to Microsoft's way of doing things or to their operating systems. Providing the GNU tools on windows NT is one way of doing this. The port of other GNU tools provided by Congruent combined with bash makes Windows NT much closer to Unix. The Hamilton C shell is a commercial alternative that also makes the NT environment Unix like. Anyone interested in making applications portable between Windows 95 and Unix should also look into Fresco. This tool can provide GUI portability between Windows NT (and presumably Windows 95) and Unix. NO WARRANTY BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. MOUNTAIN MATH SOFTWARE AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH THE USER. SHOULD THE PROGRAM PROVE DEFECTIVE, THE USER ASSUMES THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. Paul Budnik support AT mtnmath DOT com Mountain Math Software P. O. Box 2124 Saratoga, CA 95070 ______________________________________________________ Get Your Private, Free Email at http://www.hotmail.com - For help on using this list (especially unsubscribing), send a message to "gnu-win32-request AT cygnus DOT com" with one line of text: "help".