seperate the command language and interactive she

Byron Rakitzis byron at archone.tamu.edu
Sun Apr 21 04:19:26 AEST 1991


In article <2219 at optima.cs.arizona.edu> gudeman at cs.arizona.edu (David Gudeman) writes:
>Maybe I'm missing something, but it seems to me that many of the Unix
>shells combine two seperable functions: the command language and the
>interactive shell.  Is there some advantage to this?  It seems to me
>that there would be several advantages to seperating them.

Yes, you are right. More later.

>I can think of the following advantages to seperating these two
>functionalities:

>(1) users would have more options.  
>(2) the features of the interactive shell could be used for other
>programs.
>(3) related to (2), programs that present virtual terminals (like
>xterm and emacs) could have a complete window-editing environment
>without having to load those functions for the shell as well.
>(4) the command language program could be smaller, possibly giving
>faster startup for system() calls.

These are all very good reasons, and let me note that I have been thinking
about this for a while now.

To this end, for the last year or so, I used sh with xterm as my preferred
interface to Unix; xterm gave me a rudimentary command-line editing
and history mechanism, whereas sh gave me the simple command language that
I wanted.

However, since then, I've been trying to improve this state of affairs.
My first step was to write a shell. I used the plan 9 shell "rc" as a
prototype, though I eventually plan to write a shell of my own design.
This shell is more powerful than sh, yet manages to be more compact.
It was also designed with a windowed environment in mind, so that for
example, all "aliases" are kept in the environment so that new instances
of the shell to not have to read the configuration file (.rcrc).

Now, all that needs to be done is to write a better xterm. By this, I do
not mean a cursor-addressible terminal emulator, rather an "editable terminal"
in the style of mux. This et would understand enough control sequences in
order to support more(1), but other than that it would be the moral equivalent
of the shell window in emacs, with the difference that most editing is
performed by the mouse.

I think this would provide all the power one needs to interact with a
shell.

Any takers? :-)
--
To reveal art and conceal the artist	| Byron Rakitzis, Texas A&M.
is art's aim.  -- Oscar Wilde.		| byron at archone.tamu.edu



More information about the Comp.unix.shell mailing list