Shell3a
9d6d26cd9abbce54accf7e81330c01cbf769d74ed55c6d59bf069086659eeada
README
Shell3a V1.60
=============
Copyright (c) Nick Murray 1996
Introduction
------------
Shell3a is a command line shell for the Psion Series 3a which
allows basic file operations such as copy, delete, rename, etc,
as well as more sophisticated operations.
Highlights:
Command history accessed with the cursor keys
Support for external, user written, commands
Access to ROM (rom::) and remote (rem::) filesystems
Relative pathnames (. ..)
Wildcards on filenames(e.g. cp *.bat a:\bat)
Command aliasing
Output redirection to a file (e.g. ls > ls.out)
Shell variables, allowing extensive configuration
Support for batch files including parameter passing and the
additional commands IF, GOTO and SHIFT
Extensive help
<NEW> Ability to run .OPA and .APP files (inc. parameters)
<NEW> [experimental] Pop-up error log window
<NEW> Inline arithmetic evaluation, e.g. echo 1+1 is ${1+1}
<NEW> Sophisticated 'path' mechanism
Commands: alias, banner, bg, cat, cd, chmod, cls, cp, date, df,
(Builtin) echo, edit, exit, goto, hash, history, if, ls, man, mem
mkdir, more, mv, od, pause, pwd, rename, rescan, rm,
rmdir, set, shift, unalias, unset, ver, which
Supplied as external modules: battery, du, kill, play, ps, setpr
(inc. source and help file) view
More detailed information is contained within the program's help
system. The help system is based on Tom Dolbilin's OPL Help System,
so if you've already installed this you won't need sys$help.opo.
Installation
------------
1) Copy the file SHELL3A.OPA to \APP on A: B: or the internal disk.
2) Copy AUTOEXEC.BAT to the root directory, \, on A: B: or the
internal disk.
3) Install SHELL3A.OPA onto the desktop using PSION-I
[the rest of the installation can be performed using the shell and
is only necessary to use the help and supplied external commands]
4) Create a directory (eg. \BIN) and copy the .OPO files into it.
5) Create a directory (eg. \HLP) and copy the .HLP files into it.
6) Set the 'path' and 'helppath' variables respectively in the
autoexec.bat files to reflect the directories chosen in (4) & (5)
[ Changing the autoexec.bat file can best be done via the shell
'edit' command. ]
HINT: If you want to keep all the shell3a files together, copy them
into a single directory (m:\app\shell3a for example) and then
set path and helppath to this directory.
Customisations (usually set in AUTOEXEC.BAT)
--------------
(1) path - This is the list of directories in which the shell will
look for .BAT, .OPO, .OPA and .APP files. Each time the path is
searched and a command found, the location is recorded (HASHED).
This hash table is cleared when the path is changed and can be
directly manipulated via the 'hash' command. In order for the
help system to work, SYS$HELP.OPO must be in one of the
directories of the path.
eg. set path="loc::m:/opo;loc::m:/bin"
(2) helppath - The directory in which the help files are stored.
If help is invoked for a command, eg. mycom, that isn't built
into the shell, a help file 'MYCOM.HLP' is searched for in the
directory. This allows help to be provided for user-supplied
commands.
eg. set helppath="loc::m:/hlp;loc::a:/hlp"
(3) Setting path and helppath should allow you to view the online
help. See the Variables:* sections at the end of the online help
for the remaining shell settings.
Files included:
Shell3a.opa - the main application
Autoexec.bat - a sample start up file
Shell.hlp - the help file
Readme.txt - this file
Dos.bat - a file containing aliases more familiar to MS-DOS users.
You can either add these to the autoexec.bat file or
simply type 'dos' from within the shell providing the
file is in the search path.
Program.txt - a description of how to write external commands
Battery.opo - external command to display battery status and usage
Du.opo - show disk usage by directory
Kill.opo - terminate a process
Play.opo - play a .WVE sound file
Ps.opo - display the running processes
Setpr.opo - change the priority of a process
View.opo - show .PIC files
Battery.hlp, Du.hlp, Kill.hlp, Play.hlp, Ps.hlp, Setpr.hlp and
View.hlp - help files for the above 7 external commands
Src.zip - ZIP file ontaining the source for the above commands
Hcp.opo, Sys$help.opo - Tom Dolbilin's OPL Help System,
New features in this version
----------------------------
- Log window. This displays error and information messages that
previously were displayed on the text screen. Currently these are
the messages from "rescan" and bad path/helppath component
warnings. This window is shown during initialization and then
hidden. The key toggles the window.
- ${expression}. This allows the evaluation (using the OPL EVAL
construct) of arithmetic expressions. This allows the numeric
manipulation of shell variables. eg. set i=${$i-1}. This removes
the need for a separate "EVAL" command.
- The path searching has been reworked. In previous versions the
list of commands found in the directories of the path were stored
when the path was set and never changed. Although this was fast,
it meant relative paths couldn't be used (eg. '.') and new files
weren't automatically found (hence the rehash command).
The new algorithm searches the path when an unknown command is
encountered and stores the path if it is found. The "hash" command
is used to manipulate the hash table.
- External command execution. In previous versions, a separate
command "exec" was needed to run .OPA and non-shell .OPO files.
This has been reworked and any .BAT, .OPO, .OPA or .APP files can
be run by typing it's full pathname or just the name if it is in
a directory in the path. The extension is optional now, and if
one isn't supplied the search order is BAT, OPO, OPA then APP. If
"." isn't in your path programs in the current directory can be
accessed as "./program".
A single parameter can be supplied to an OPA or APP. Some
applications EXPECT an argument and will fail without one. Others
ignore the argument, or perform unusually if one is given!
A word of warning - some APPs don't like being executed like this.
For example running ROM::RUNOPL.APP or ROM::RUNIMG.APP causes a
soft reset! - I've never found out exactly why.
Changes between V1.60 and V1.40
-------------------------------
- Back to 1 executable
- Variables are prepended either by $ or % depending on "unixvar"
- Loss of eval, exec and rehash commands; their functionality has
been moved elsewhere (see new features above).
- Extra commands: mem, banner, battery, view, setpr, du
- Use of the OPL cache
New features in V1.40
---------------------
- The number of commands stored in the history can be set via the
'set' command
- There is no longer any limit on the number or size of aliases.
- batch files can now take variables which are are accessed using
%0 .. %9
- Shell variables have been introduced. These are specified as
%string
- Settings such as path, helppath, etc are implemented as shell
variables
- new IF command (DOS syntax)
- SHIFT, GOTO and labels in batch files.
Changes between V1.40 and V1.23
-------------------------------
- The program now consists of 2 parts, shell3a.opa and commands.opo
which contains all the user commands.
- As shell variables use the '%' DOS convention, prompt 'variables'
are now referred as $H and $p rather than %H and %p.
New features in V1.23
---------------------
- Items in the command history are accessed using the up/down
cursor keys
- The <Help> key brings up the main help menu.
- Support for external modules and hence user-expansion of the
capabilities of the shell.
Changes between V1.23 and V1.02
-------------------------------
- The comment string in .BAT files is now '#'
- The Mac 3-link can now be used. Pathnames and device names with
spaces have to be quoted, eg. cd "rem::Hard Disk:".
- The path is no longer searched each time a command that doesn't
match a built-in is found. Instead a list of .OPO of .BAT files
found in the path is stored and searched. This means external
.OPO modules are executed with little noticable delay. Members of
the list are accessed WITHOUT the suffix .BAT or .OPO.
- Separate current directory for each device. Because of this
all possible devices are scanned when the program starts. If
devices are added the command 'rescan' must be used to recognize
the new device. Note the rescan command has the side-effect of
resetting the current working directory.
- 'df' without arguments show a summary of all devices
Acknowledgements
----------------
Psionics files by Clive Feather
Tom Dolbilin for his excellent help system
Suggestions: Chris Dadd
mike@btwelve.demon.co.uk
johnshoy@os2bbs.com
External Commands
-----------------
If you write any useful external commands that you'd like to make
available to other users, either send me the source or drop me a
note of where it's available, and I'll include this information in
the next release.
Bugs, suggestions, etc.
-----------------------
I can be reached via email at nmurray@csd.abdn.ac.uk
Disclaimer
----------
The author of this software is not responsible for any damage due
to use of this program. This software is provided without warranty
of any kind.
Copyright
---------
Last and by no means least, this program is NOT public domain and I
retain the copyright. However provided you don't make money from it
this program is freely distributable.
Unknown
Shell3a
NWT_Psion3.tar
→
NWT_Psion3/utilities/shells/shell16.zip
→
shell3a.opa
9d6d26cd9abbce54accf7e81330c01cbf769d74ed55c6d59bf069086659eeada
|