Path: utzoo!attcan!uunet!iscuva!ricks
From: ricks@iscuva.ISCS.COM (Rick Schaeffer)
Newsgroups: comp.sys.amiga
Subject: Re: Yea, but can an Amiga Shell do this....
Message-ID: <1877@iscuva.ISCS.COM>
Date: 18 Aug 88 03:58:55 GMT
References: <1836.AA1836@heimat> <3782@hcr.UUCP>
Organization: ISC Systems Corporation, Spokane, WA
Lines: 45

In article <3782@hcr.UUCP> edwin@hcrvax.UUCP (Edwin Hoogerbeets) writes:
>
>Amigans, rejoice!
>
>There is a version of Matt's csh on Fish 145 that does this. It was
>modified by Johan Widen from the 2.07 original to have this backtick
>argument execution and to have file name completion. (yeah!!). It requires
>ARP 1.1 to run.
>
>I'm just waiting for the << operator. It is the only obstacle left
>against unsharing real Unix shars on the Amiga. (Amiga sed is 
>on Fish 128 and wc is on Fish 69... anything else needed?)
>

I like CSH a *lot*!  It does have a few problems that need fixing before
it is really capable of unsharing real Unix shar files.  For instance,
there needs to be some way for a child process of CSH to access CSH's 
environment.  Most importantly, a shell spawned by CSH should inherit
it's parents environment.

For instance, I have been recently been working on a port of RCS (Revision
Control System) to the Amiga using Manx C.  It doesn't have a proper
Unix compatible "system" function but does have fexecv.  I first tried
implementing a system function of my own which parsed up the string
argument into an argv array that fexecv would take.  That sort of worked...
except that it didn't handle redirection (and in particular output append!).
Well...csh handles all that stuff so I implemented my system function to
invoke "csh -c" followed by the rest of the arguments.  That sort of 
worked...except that csh has a default _path variable set up which doesn't
include *any* of the things I have in my normal path!  So I modified
csh to go into Amigados and construct it's _path variable using Amigados's
path and added a new internal command named "path" which sets both csh's
path variable and Amigados's path.  Things are now working fine...BUT things
would sure have been easier if a child spawned by csh inherited a copy of
it's environment!!

Steve and/or Matt ... while adding real pipes and all those other goodies
I'm sure you are working on  you might give some thought to adding
some way for a child process to inherit csh's environment!  If there is
any interest, I will post the diffs for my rather trivial path mods.
-- 
Rick Schaeffer          UUCP:  uunet!iscuva!ricks
ISC Systems Corp.              ricks@iscuva.ISCS.COM
Box TAF-C8              Phone: (509)927-5114
Spokane, WA  99220