[comp.sys.amiga] more Hard-Drive S/W Installation Ideas

scotth@harlie.SGI.COM (Scott Henry) (12/20/88)

I have been following the ideas/problems about installing products on a
hard-drive which requires ASSIGNs or SETENVs (or whatever) in the startup-
sequence. I decided to do an experiment on my hard-drive startup. I had
already broken my monolithic hard-drive startup sequence into a "master"
script and several sub-scripts in a subdirectory of S: called startup. Of
course, I was executing each one by name at the appropriate point in the
boot sequence. As my boot sequence has evolved, the sub-startup scripts
have gotten closer together (and they ran asynchronously until I ran
into problems (ie: "run execute S:startup/<*&^*>")). So, how can I 
execute an arbitrary sequence of scripts, with the names not need to be
known except at boot time? If I were on un*x (or similarly using Matt's
shell), I would write something like:

foreach i ( startup/* )
	sh $i
end

But AmigaDog don't expand wildcards for you, and

EXECUTE S:startup/#?

isn't even recognized as a file.. BUT! There is the (brain-damaged, but
otherwise useful) PD program I've got called FOREACH, and this DOES work:

cd s:startup			; <-- this is part of the brain-damage!
foreach start#? execute		; (it doesn't work with a path)
cd <wherever I was before>

just like a charm! So, all we need is a version of ForEach supplied with
each harddrive (or better yet, with AmigaDos 1.4...), then each vendor
would (being sure that they REALLY needed to...) put a startup file in,
say S:startup, with a unique name, and the normal startup script would
catch it WITH NO ACTION NEEDED BY THE USER. Unless, of course, hes like
me and hates to have his/her machine messed with behind his/her back.

Anybody see any other problems besides the proliferation of files in S: ?

	Scott Henry <scotth@sgi.com>

#include <std/disclaimer.h>
--
              Scott Henry <scotth@harlie.sgi.com> {or, also on the Internet:}
                          <skywalker@cup.portal.com>
#include <std_disclaimer.h>