[net.unix] Bourne shell modifications sent to mod.sources

arnold@gatech.CSNET (Arnold Robbins) (06/07/85)

[ When there's something strange
  In your computer room
  Who ya gonna call?
  Pr1mebusters! ]

I have just finished mailing nine articles to the moderator of mod.sources
which contain all you should need to add the following features to the
Bourne shell:

1.  4.2 BSD style job control on Berkeley Systems. Code to outwit symbolic
    links for shells which have 'pwd' built in.  Also code to print a
    resource usage summary after every command on BSD systems.  These are
    courtesy of the folks at BRL, who gave me permission to post their
    code. (See <230@gatech.CSNET> in net.unix-wizards.)

2.  The ability to catch Control-D's, and force you to use "exit", also
    courtesy of BRL.  This will work whether or not you are on a BSD system.

3.  The <> I/O redirecter is now documented, and also works (courtesy of
    ihnp4!trwrb!lcc!brian's recent posting in net.unix-wizards).

4.  The shell parameter $+ gives you the parent process id of the shell.
    It will track the value of the getppid() system call.

5.  The shell will read in $HOME/.shrc on startup, if that file exists.
    This file is read *after* /etc/profile and $HOME/.profile (unlike the
    csh, which reads ~/.cshrc before ~/.login).

6.  The ~ and ~person notation is understood, both for command line arguments,
    and in the PATH and CDPATH shell variables.
 
7.  Special sequences in PS1 (the shell's prompt string) will print useful
    info at the prompt.  Currently, you can get or all or some or none of:
	the time of day
	your current directory (if the shell has pwd is built in)
	your machine's hostname
	your login name
	the current 'event' number for the ...

8.  History mechanism.  The history mechanism is powerful, yet easy to use.
    Although different from the csh's, it is somewhat more general and
    orthogonal.  The shell will save history across login sessions,
    automatically restoring on login, and saving on exit or on the exec builtin.
    Unlike the csh, no history processing is done inside shell files.

On a Pyramid, the shell has some additional capabilities:

9.  The 'att', 'ucb' and 'universe' commands are built in.

10. The $UNIVERSE shell variable tracks the current universe.

11. An additional sequence for the prompt to print the current universe.

----

There are nine articles.  They contain the following:

Part 1	-- README.gt.sh, new .c files needed for the shell, miscellanious stuff

Part 2	-- Context diffs of C code for 4.2 BSD /bin/sh
Part 3	-- Context diffs of C code for 4.2 BSD /bin/sh
Part 4	-- Context diffs of sh.1 for 4.2 BSD /bin/sh

Part 5	-- Context diffs of C code for System V Release 2 /bin/sh
Part 6	-- Context diffs of C code for System V Release 2 /bin/sh
Part 7	-- Context diffs of sh.1 for System V Release 2 /bin/sh

Part 8	-- Context diffs of C code for BRL Unix /usr/5bin/sh
Part 9	-- Context diffs of sh.1 for BRL Unix /usr/5bin/sh

I had to split these up into so many articles in order to insure that each
one would be less that 64K in size.

The USENET mod.sources group is forwarded along with net.sources into the
UNIX-SOURCES@BRL mailing list. ARPAnet people should get it from there if at
all possible.

I realize that there will be people who for some reason will not get it
from either news group, both on ARPANET and USENET; probably because their
machine does not get either list.  If you can get it from someone nearby who
does subscribe to one of these groups, that is to be preferred.  I would like
to keep our phone bill down as much as possible.  Since we are a CSnet site,
we pay the phone bill for mail sent into and received out of the ARPANET via
Csnet-relay.ARPA.  However, if it is totally impossible for you to get it
anywhere else, send me mail indicating which of the 3 versions of the shell
you have, and I will mail you the appropriate diffs.  I will probably save up
the requests for a while, and then mail them all out at once.

If you install my mods, and like them, please let me know.  I would like to
get back bug fixes, as well as suggestions for other things to put in.
If enough changes and suggestions come in, I will do my best to incorporate
them, and then make another posting in a few months.

Enjoy!
-- 
Arnold Robbins
CSNET:	arnold@gatech	ARPA:	arnold%gatech.csnet@csnet-relay.arpa
UUCP:	{ akgua, allegra, hplabs, ihnp4, seismo, ut-sally }!gatech!arnold

How come nobody likes good ideas when they don't come up with them?