A user wrote me suggesting that I:
I gave a reply that mentioned the GUIDE that is in the root of
the SAM-1.3 distribution, especially sections: 6. Using
SAM and 7. About SAM menus. And I
referred the user to my outdated video on
I also offered that the user might want to learn about the PATH
variable by using this duckduckgo
The user's suggestion was good. I cited above the two
examples in sections 6 and 7 of the SAM-1.3 GUIDE, but it doesn't
appear that I have provided much explanation beyond these two
Regarding explanations, I would like to tell you about the
different kinds of examples needed to demonstrate what SAM can
do. They fall into these categories:
Examples of the use of of the commands at the root of the
SAM distribution, such as begin. Command
begin, you may recall, is what creates the SAM
shell which contains, and makes available, the commands of:
the SAM kernel, any added libraries, and the current menu if one
The root of the SAM distribution contains other commands also.
All would be well served by examples.
Examples of the use of the commands of the SAM kernel (at
$sam). All of these may be used at the
command line or referenced in scripts and function definitions,
although some are not expected to have general use and are
intended for internal use by SAM.
The commands of the SAM kernel which are for general
use are special as they are responsible for enabling the SAM
paradigm. This set of commands includes:
bound, menu, and
library, although there are others as
Examples of the use of the SAM paradigm. These
examples should go beyond just showing how to use the commands of
the SAM kernel. They should illustrate the the power of the
SAM paradigm. (See What is
SAM.) In general, this is about helpful shell
programming techniques that SAM enables.
Understanding the above (root commands, kernel commands, and the
SAM paradigm) would be helped much not only by examples, but
especially by videos. Toward this end, I will do what I can to
give more examples and make more videos.
Additionally there is the problem of understanding the commands
of libraries and menus. In general, the primary documentation
for libraries and menus are the files library.dat
and menu.dat. The file
menu.dat is normally found in each directory that
you wish to use as a menu. If you wish to designate any of
these as libraries, this is done by putting a symbolic link (or the
actual directory) in the $lib directory.
Normally you should create/edit file
$lib/library.dat as a way of cataloging the
You should understand that you as a SAM user are
responsible for documenting, by creating/editing the
library.dat and menu.dat files for
the libraries and menus that you create. I have and will
likewise do the same for the menus of SAM, the one included library
$lib/tool, and any additional libraries that I
may provide in the future.