home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / sysutils / msshell / readme < prev    next >
Text File  |  1992-06-20  |  8KB  |  176 lines

  1.  MS-DOS Shell Version 2.0    README                April 1992
  2.  
  3.  MS-DOS SHELL - Copyright (c) 1990,1,2 Data Logic Limited and Charles Forsyth
  4.  
  5.  This code is based on (in part) the shell program written by Charles
  6.  Forsyth and is subject to the following copyright restrictions:
  7.  
  8.  1.  Redistribution and use in source and binary forms are permitted
  9.      provided that the above copyright notice is duplicated in the
  10.      source form and the copyright notice in file sh6.c is displayed
  11.      on entry to the program.
  12.  
  13.  2.  The sources (or parts thereof) or objects generated from the
  14.      sources (or parts of sources) cannot be sold under any circumstances.
  15.  
  16.     $Header: c:/usr/src/shell/rcs/readme 2.0 1992/04/13 17:40:33 Ian_Stewartson Exp $
  17.  
  18.     $Log: readme $
  19.     Revision 2.0  1992/04/13  17:40:33  Ian_Stewartson
  20.     MS-Shell 2.0 Baseline release
  21.  
  22.     
  23. ________________________________________________________________________________
  24.  
  25. This is an implementation of the Unix Shell for MSDOS.  As far as possible it
  26. is compatible with the System V.4 program sh(1) with ksh(1) extension.  The
  27. following differences are noted:
  28.  
  29. 1)  Background or asynchronous commands are not supported under MSDOS.  Some
  30.     support is provided under OS/2, but it is not as full as UNIX.  You can
  31.     only run one command and not a pipeline in background.
  32.  
  33. 2)  Certain internal commands which have no equivalent MSDOS or OS/2 supported
  34.     functionality support (ulimit, time etc) are not provided.
  35.  
  36. 3)  Command hashing and accounting are not supported.
  37.  
  38. 4)  Some of the ksh functionality has not yet been implemented or made ksh
  39.     compatible (command line editing for example).
  40.  
  41. 5)  The Shell uses all variables starting with a ~ (tilde) internally and will
  42.     not allow you to display them.  I don't think this is a difference from
  43.     the user's view, just internally.
  44.  
  45. The Shell has been tested mainly under MSDOS 3.3 and 4.01, and OS/2 1.3.  But
  46. has also been run successfully on MSDOS 5.0 and OS/2 2.0.  It has exposed some
  47. shortcomings in the C6.0 compiler and MSDOS library.  As such, using C5.1 and
  48. its library are prefered when re-building the shell for MSDOS.
  49.  
  50. The following enhancements have been made for the MSDOS environment.  These
  51. enhancements are described in the appropriate section of the manual pages.
  52.  
  53. 1)  Under MSDOS, the Shell will swap itself out to one of the following:
  54.  
  55.     - Expanded memory
  56.     - Extended memory
  57.     - Disk (this is the slowest)
  58.  
  59.     The swapping is controlled by the shell internal command swap.  If
  60.     swapping is enabled, the shell only uses 3K of memory whilst a child
  61.     process is executing.
  62.  
  63.     Note: Swapping to Extended memory is probably the most dangerous unless
  64.       you have an XMS memory manager available.  The shell requires the
  65.       XMS manager to support the version 2 XMS specification.
  66.  
  67. 2)  History processing has been added.  It is not ksh compatible - more csh.
  68.  
  69. 3)  Command line editing has been added.  A configuration file (sh.ini) allows
  70.     the Command Line editing keys to be tailored to the users requirements.
  71.     It is not ksh compatible.
  72.  
  73. 4)  The command line prompt can be programmed to display 'useful' information.
  74.  
  75. 5)  The shell uses Unix format file names (ie slashes and not backslashes) to
  76.     delimit directories.  Some programs require certain environment variables
  77.     to be in MS-DOS format (using backslashes).  The msdos or typeset -H
  78.     commands allows these variables to be marked so that they are set correctly
  79.     when the environment for a program is set up.
  80.  
  81. 6)  The format of the command line which the shell passes to a program is
  82.     configurable between normal, indirect files and environment variables
  83.     (see SH.1).  A version of stdargv.c which supports the indirect file
  84.     format (and wildcards from a normal command line) is included.
  85.  
  86. 7)  Wild cards on drives (ie echo *:*.c will echo all the C files in the
  87.     current directories of each drive) are supported.
  88.  
  89. 8)  Full Interrupt 24 processing has been added.
  90.  
  91. 9)  Filename completion has been added.
  92.  
  93. 10) Alternate command interpreters are supported in shell scripts a la
  94.     Unix V.4.
  95.  
  96. 11) A number of OS/2 internal commands (start, detach) have been addded.
  97.  
  98. 12) Significant parts of the shell have been re-written this release 1.6.4.
  99.  
  100.  
  101. The following Bugs are known to exist in the Shell.
  102.  
  103. 1)  Interrupting the MSDOS version via Control-C can cause the shell to hang.
  104.     I have been unable to track the cause of the problem down.  It appears to
  105.     occur if the interrupt takes place between the start of the swap process
  106.     and the completion of the load of the new application.  I cannot trace
  107.     it using CodeView and may need an ICE system which I don't currently
  108.     have access to.  Any fixes gratefully received.
  109.  
  110. 2)  The Shell is not 8-bit clean (to be fixed in a later release).
  111.  
  112. 3)  The escape character is not handled correctly in double-quotes (to be
  113.     fixed in a later release).
  114.  
  115. 4)  I may have mis-interpreted the functionality of either the UNIX version
  116.     of sh or ksh (tell me about it).
  117.  
  118. I apologise in advance for bugs 2 and 3 which I had intended to fix in
  119. release 2.  However, they a major changes which require understanding of
  120. the part of the shell I least understand and I have not be able to devote
  121. the time to do so.
  122.  
  123. The shell was built using Microsoft C 5.1 and MASM v5.1 in large model mode
  124. for MSDOS and Microsoft C6.0 for OS/2.
  125.  
  126. In order to rebuild this program, you need the following library functions
  127. (I normally compile and load them into my library so that they are always
  128. available, particularly the stdargv function).
  129.  
  130. 1)  The DIRECTORY(3) functions 
  131. 2)  The STDARGV(3) function - see earlier
  132. 3)  The GLOB(3) function, but only if you intend to use STDARGV other that
  133.     with the shell.
  134.  
  135. The sources for all these are included with the Shell source.
  136.  
  137. In addition, the version of open in your library must pass the O_NOINHERIT bit
  138. on the MSDOS kernel.  The Microsoft C v5.1 library (and possibly the v6.0) does
  139. not pass this bit on to the MSDOS open System call.  I fixed this using CodeView
  140. to find where the library function masks off the bottom 2 bits.  Extracted the
  141. object from the library and patched mask from 0x03 to 0x83 in the object and
  142. reload into the library.  No Problem.  The Patch.Lib document describes the
  143. process in more detail.
  144.  
  145. You can do want you like with this software as long as you don't sell it or
  146. remove the Copyright notices in the sources or object.
  147.  
  148. If you have any problems or want to let me know about any enhancements you
  149. have made (which could be included in a new general release), you can contact
  150. me at
  151.  
  152.     Data Logic Limited
  153.     Queens House
  154.     Greenhill Way
  155.     Harrow
  156.     Middlesex, HA1 1YR
  157.     UK.
  158.  
  159.     Phone : +44 1 863 0383
  160.     E-Mail: istewart@datlog.co.uk
  161.  
  162. Note:
  163.     Unix is a registered trademark of AT&T Bell Laboratories
  164.     Microsoft, MSDOS, MASM and CodeView are registered trademarks of Microsoft
  165.     Corporation
  166.     OS/2 is a registered trademark of Internation Business Machines Corporation
  167.  
  168. Acknowledgements:
  169.  
  170. This program is based on ideas, code or parts of code developed by:
  171.  
  172.     David Korn and Steve Bourne (the original ideas)
  173.     Charles Forsyth (original source for the MINIX Shell program)
  174.     Erik Baalbergen (original source for the MINIX test program)
  175.     Paul Falstad (original source for the maths functions from GNU zsh program)
  176.