A Helpful Tty (ah-tty)
Formerly known as The Prompting SHell ("psh")
This is an experimental program to try to do for the Linux (and UNIX) shell prompt what those little yellow popup "tooltips" do for a graphical environment. If you are an experienced shell user, you may enjoy it (some of my wizardly friends do). If you are new to the shell, or are introducing new users to the shell, you may find it helpful.
To explain in more detail: currently, there are two ways for a total beginner to work with UNIX; use one of the GUIs or File Manager style programs, or a menuing (is that a word?) shell of some sort. But the bottom line is that in many cases if you want the full power of UNIX, you have to hit the shell prompt. "ah-tty" tries to bridge the gap from a menu system to the shell prompt.
Basically, it runs an inferior shell, and sits on top of it, watching its input and output closely to determine (well, okay, guess) what is a prompt, and what is a user command. Currently it works with bash, and with csh if TERM is unset. The use of inline editing a la GNU readline may confuse it, but will not interfere with normal execution of shell commands. However, it does understand normal backspacing, as well as bash-style command and filename completion.
When a user types something (or nothing), ah-tty uses a rules file containing appropriate delays and regular expressions to determine what helpful message to print. This is a lot harder to explain than to show, so let me just show you; first build and install ah-tty:
./configure
make
make install
Anyway as I say, this is an experiment. It may turn out that for most people ah-tty doesn't help at all. Certainly the rules file I have supplied is woefully inadequate (see the RULES file for the format), but it's a start. If you like it, don't like it, have extra rules for me, have any suggestions at all, or in particular have any trouble installing it, please drop me an email at the address below.
Randy Maas <randym@acm.org>
Author of previous psh versions:
Fraser McCrossan <fraserm@gtn.net>
