rc - a shell
I maintain the rc shell. This is a reimplementation for Unix, by Byron Rakitzis, of the Plan 9 shell. rc offers much the same capabilities as a traditional Bourne shell, but with a much cleaner syntax.
The latest release is rc-1.7.2.
I'll build the usual source and binary RPMs in the next few days.
237efab0834f026716fbe3a6b8701af34da52d33d1b906989d4080c45dadf356 rc-1.7.2.tar 04e762d15cccb3c3191a0f40e5158f176a21707f89cb9e0b04c8085ea7246be5 rc-1.7.2.tar.gz
Tom Duff's papers
The author of the original rc, Tom Duff, presented a paper about it to the UKUUG (United Kingdom Unix Users' Group). He has kindly given permission for us to reproduce the PostScript version of this paper.
An updated HTML version is also available.
The rc mailing list was firstname.lastname@example.org but this seems to be defunct at present. I hope to create a new rc and es community around this web site.
(Subscription requests should be sent to email@example.com.)
Libraries for command line editing
rc can be linked against a number of libraries which provide Emacs style command line editing and history.
rc uses a set of printing routines originally written by Paul Haahr. Scott Schwartz has developed this as a separate package which is available from comp.sources.unix v29i017.
There are a number of other programs which, like rc, implementations of Plan 9 tools for Unix + X windows:
(Many of these links are now out of date. Watch this space!)
- sam, probably the world's finest editor, by Rob Pike;
- wily, a reimplementation of the Plan 9 acme (a minimalist "integrated development environment") by Gary Capell;
- 9term, an X windows terminal emulator by James Matthew Farrow;
- 9wm, an X window manager by David Hogan;
- 9menu (allows you to create X menus from the shell, where each menu item will run a command: it meshes well with 9wm).
Plan 9 itself, including Duff's original rc, is now available (and there's a rather splendid easy-to-install port of all this to Unix, but I don't have the link handy right now: watch this space!)
The notion of software configuration via patches seems really pretty quaint in the 21st century. Still, this particular patch has been following rc around for a long time. I think I'm desperately unlikely to make it a compile-time or run-time option any-time soon, so if you really want this behaviour, here it is.
- The ctrl-D patch prevents an interactive rc from exiting when it sees end of file on standard input, achieving much the same effect as setting the special variable IGNOREEOF in bash, or ignoreeof in tcsh
I've started making notes as I hack on rc. Anyone who is, or would like to be, familiar with the internals of rc is encouraged to look at them.
(Although my notes are currently in a flat file, they really should consitute a blog. Did blogs exist in 2001? I can't remember. But even if so, I didn't have an easy way to create one. At some point, this document will be converted into a real blog; or possible just merged into my own blog.)
In the dim and distant past, before the phrase vanity googling had been coined, I was searching on AltaVista (anyone remember it?) for rc shell. I came across this page, which seems to be about something else...
This is the official dish of rc, to be served at all conventions and other gatherings of rc users.