
YASO (yet another shell [something])  Manual, By Matthew Dillon

Terms:	You may not charge money or any form of service for use of
	this program.  This program is public domain, and may be
	distributed freely as long as The author's name (and your
	name if you've hacked it majorly) and this message remains.

Startup:	sys:.login will be sourced by this program.  Usually, you
		put general aliases there.


The basic form of a command is:

	Command arg1 arg2.... argN

	* if the command is exactly a built in command, that built in
		command is run.
	* if the command is an alias, the alias is expanded 
	* if the command is a partial of a built in command, that built in
		command is run.
	* otherwise, the command is Execute()'d

The line scanner will do various substitutions before passing the line to
the command:

	Any set variables of the form $name is expanded to it's contents
		% set abc hello
		% echo $abc
		hello

	Any file-path with wildcards (example: *.c), is expanded (a.c b.c ..)
		% echo *.c
		execom.c a.c x.c

	Within quotes, ^c is expanded to it's control character
		% echo "^l"
		< the screen is cleared >

	You may do history substitution of the form:
		% !!				-previous command
		% !partial			-search history for command
		% !num				-a specific history #
	
	In most cases, you may use \ to overide a special character (there are
	some bugs with this one)
		% echo \*
		*

INTERNAL COMMANDS

	quit					-quit, done, vamoos
	set	name arg1 arg23....		-set a variable ($substitution)
	unset	name1 name2 ...			-unset variables
	alias	name "command;command..."	-whatever you want to alias
	unalias name1 name2 ...			-unalias aliases
	echo	[-n] arg1 arg2...		-echo args to screen
	source	file				-use a command file as input
	mv	file1 file2			-rename a file (rename only)
	cd	directory			-cd to a directory
	rm	file1 file2...			-rm files
	mkdir	dirname dirname...		-make directories
	history					-show history list
	mem					-show memory statistics
	cat	file1 file2...			-simple file dump to screen
	dir	dir/file dir/file..		-get directory
	devinfo	[device]			-get device info 
	foreach var ( arg arg arg ) command	-(see below)

VARIABLES:

	Two variables are reserved currently:

	_history				-# lines to remember
	_prompt					-command which causes your 
						 prompt.


SPECIFICS/SPECIAL COMMANDS:

echo [-n] arg ...
	The -n option causes a newline NOT to be printed

foreach example: (assume the files a.c b.c c.c and d.c are in the curr. dir)
	% foreach i ( *.c ) "echo -n hello;echo $i"
	hello a.c
	hello b.c
	hello c.c
	hello d.c
	%

REDIRECTION:

	You may redirect only external commands (sorry).  Currently, the
file name MUST BE NEXT TO THE '>' or '<'  '>charlie'.  However, the
redirection args can be anywhere on the argument line.  The default
redirection is to '*'.



BUGS:
	An OS bug in Execute()... 30+ bytes are lost every time an external
command is executed.
