                 ASH V0.52 : Copyright (c) 1986 CSL/jdn

This is V0.52 of the ash help file.  If the program you're using isn't
V0.52 there's a good chance some of the features won't work as documented
in this help file.

:genhelp
 
QUICK (1 key) COMMANDS
ESC        - enter history edit mode
^L         - list the command history buffer
^R [n]     - repeat the last or 'n'th command
^W         - display the who and what message
^P         - toggle the prompt path string
^V         - make the cursor visible
^X/^U      - kill the current command line
^D/^Z      - exit this program fast [EOF]
UNDO       - exit with a confirmation
CLR/HOME   - clear the screen/home the cursor
HELP       - display this help message

BUILT-IN COMMANDS
date [mm/dd/yy] [hh:mm:ss]    - display or set the current date and/or time
set [var=value ...]           - list all set variables or set 'var'iables
echo [-n] [arg ...]           - echo 'arg'uments to the screen
pause                         - pause until a carriage return is typed
find [-n] pat file [file ...] - find lines in 'file's containing 'pat'tern
rez {-l | -m}                 - change the screen resolution
color {-f | -b} [RGB]         - change the foreground or background color
ls [-s] [-l] [d:][file]       - display directory information about 'file's
df [-t] [drive ...]           - display the free space on 'drive's
cat [-n] file [file ...]      - display 'file's on the screen
opr [-n] file [file ...]      - print 'file's on the printer
cp file1 file2                - copy 'file1' to 'file2'
cp file1 ... filen dir        - copy files '1' through 'n' to 'dir'
mv file1 file2                - rename 'file1' to 'file2'
mv file1 ... filen dir        - move files '1' through 'n' to 'dir'
rm [-i] file [file ...]       - remove or erase 'file's
cd directory                  - change to 'directory'
pwd                           - display the current working directory
mkdir directory               - make a new 'directory'
rmdir directory               - remove an empty 'directory'

GENERAL HINTS
You can enter multiple ash commands on one line by separating them with
semi-colons (;).  Everything on a command line after a pound sign (#) is
treated as a comment.  Command separators and comment characters can be
quoted with single (') or double (") quotes if they're needed as part of a
command's arguments.  The same is true for wildcard characters (* and ?).
 
Up to the last 23 command lines are pushed down in a history buffer so they
can be repeated or edited and then repeated.  Hit the pHELPq key while in
history edit mode for a screen of editing instructions.
 
Variables defined with the 'set' command can be used in other commands by
putting a dollar sign in front of them.  Some 'set' variables have special
meanings.  The ECHO 'set' variable is used to turn command echoing on in
scripts.  If ECHO is set to 'ON' or 'on' commands will be echoed before
they're executed.  If ECHO isn't set, or is set to any other value, scripts
run silently.
 
The PATH 'set' variable is used to decide where ash looks for commands that
aren't built-in, for the ash initialization file and for the ash help file.
The same syntax is used as in the MS-D*S PATH, where semi-colons (;)
separate the various drives and directories in a PATH.  When setting PATH
interactively semi-colons must be quoted so they're not interpreted as
command separators.

GENERAL HINTS (continued)
PATH is initially set to all the installed drives on the system.  This
setting is then used to look for the ash initialization file.  The ash
initialization file is named 'ash.ini' and must be in the current directory
or on one of the drives in the initial PATH.  This file contains 'set'
variable definitions.  Each line in the file can contain one and only one
'var=value' definition, without the set command in front.  For example:
pPATH=c:\bin;a:;b:q.  The initialization file can change the initial PATH
value or add to it.  For example: pPATH=c:\bin;$PATHq.
 
Ash initially checks each command to see if it's built-in.  If not it then
checks for a file suffix.  If there's no suffix it will try each of the
four standard command suffixes (.prg, .ttp, .tos and .ash) in that order.
It first checks for a command in the current directory.  If it's not found
in the current directory it then looks in the directories specified with
the PATH 'set' variable as explained above.
 
Commands with the .ash suffix are actually ash scripts.  They're invoked by
executing ash on the script internally.  Scripts can also be used with ash
by invoking it with the name of a script as the first argument.  Up to 9
arguments can be included on a script command line.  They're parsed inside
the script the way positional arguments are parsed in UN*X;  $0 through $9.
Scripts that call other scripts go through lots of memory so use caution.

GENERAL HINTS (continued)
Here are some more miscellaneous tips.  The 'pause' command normally waits
for a carriage return, but since it's usually used from a script, if you
type a ^C the entire script will be aborted.  Any time you're confronted
with '[more...]' at the bottom of the screen you can type a 'q' or 'Q' to
avoid seeing whatever there's more of.
 
The 'echo' command recognizes the sequence of a backslash (\) followed by
three octal digits in its arguments and will output the corresponding ascii
character.  For example to make a beep the ascii bell character is \007.
The escape sequence to home the cursor and clear the screen is ESC-H-ESC-J.
To generate this sequence with 'echo' use \033H\033J.
 
The mouse cursor is normally hidden while ash is running.  If you jiggle
the mouse a block of background color will show up but it will scroll off
the screen with normal use.  The mouse is kept alive for any GEM programs
that need it and don't turn it on themselves.
 
The ash help file is called 'ash.hlp'.  When help is requested ash first
looks for the help file in the current directory and then in each of the
directories in PATH.  If the help file isn't available you're on your own.
On the other hand, if you want to save disk space ash will run without it.
All built-in commands will provide some help if invoked with a '-?' flag.

LIMITATIONS
  23 -  commands in the history buffer
  23 -  lines in a 'cat' screen
  32 -  possible 'set' variables
  63 -  arguments per command line
 255 -  characters per argument
 255 -  characters per set variable
 255 -  characters per command line
:edhelp
HISTORY EDIT COMMANDS
-/k    edit the previous history line
+/j    edit the next history line
0      move to the first character of the current line
^      move to the first visible character of the current line
$      move to the last character of the current line
BS/h   move left one character
SP/l   move right one character
       (delimiters: word=non-alphanumeric, WORD=white space)
w/W    move right to the beginning of a word/WORD
e/E    move right to the end of a word/WORD
b/B    move left (back) to the beginning of a word/WORD
~      change the case (if alphabetic) of the current character
r      replace the current character with another single character
x      cross out the current character
d/D    delete the current character/to the end of line
       (ESC terminates substitute/change/insert/append mode)
s      substitute multiple characters for the current character
c/C    change the current character/to the end of line
i/I    start inserting characters before the current/first character
a/A    start appending characters after the current/last character
CR/LF  execute the current line
^C     abort this edit
HELP   display this help message
:whowhat
 
ASH is an acronym for 'a shell'.  It has some of the features I like best
from the shell I use the most.  There's no formal documentation for ASH but
the pHELPq key has a few screens of information that are fairly helpful.  If
ASH ever makes it to V1.00 I'll provide a more detailed explanation of its
features and limitations.  If you want to contact me about ASH use the
following paper address:
 
                        CSL
                        Jerry Nowlin
                        318 N. Center Street
                        Plano, IL  60545
 
ASH will probably never be 'finished' so any and all comments are welcome.
It's something that some of us (me), who prefer typing to clicking, needed
to be productive.  It isn't perfect so please report any problems.  If you
like ASH, you can report that too.  If you like it enough to use it on a
regular basis you can even send along a few bucks ($15).  It will help my
wife appreciate the hours I spend in front of my ST.  Pass it on.  Thanks.
