ud@mutec.UUCP (Ulrich Dessauer) (10/07/88)
In article <339@infovax.lan.informatik.tu-muenchen.dbp.de> ocker@lan.informatik.tu-muenchen.dbp.de (Wolfgang Ocker) writes: > >Another long mail from Avygdor Moise has arrived. Here my comments >(about UUCP, Mail, OXM, ls, documentation, ... Ulli will write some >comments concerning the csh (again :-)). > Ok, here ut comes :-) : ~ 1. Your shell is called CSH, I presume is stands for C-Shell. The ~ intention of the folks who wrote the original C-Shell (csh) was (and ~ is) to provide an interactive (and batch) oriented command ~ interpreter that has capabilities normally available through the ~ use of the C language, like flow control, string manipulation and ~ arithmetic evaluation. Aliases and history are secondary to the ~ C-Shell (though they are a very important pleasant addition). Yes, you are right, I called it csh because of the UNIX(tm) C-Shell. BUT I wrote this to add these features I missed in the OSK shell. And it not is designed for scripts (BTW I hate shell scripts, they are slow, using a lot of CPU time etc.). The things I missed mostly had been aliasing, history and the '^' operator. ~ >~ ~ >~ 4. CSH should allow users to CHD to directories which are write ~ >~ protected but not read or execute protected. ~ > ~ >I think, this is a problem of the chdir() call. The OS9 shell doesn't ~ >allow this (still compatible :-), too. ~ ~ This is a problem with the way the shell invokes chdir(). I patch my SHELL and ~ changed the mode from being READ|WRITE to READ (3->1). Now I can change ~ directory to directories that do not have write access. I am using the standard call in the C-library and this one seems to call chdir () with READ+WRITE. ~ >~ ~ >~ 5. CSH should allow the addition of "." in the PATH list to facilitate ~ >~ execution of programs from current working directory (not shell ~ >~ scripts). ~ > ~ >In the current version csh scans through the execution directory, the ~ >PATH environment and then looks in the data directory. If a file exist ~ >with the name of the desired program, csh tries to read the first two ~ >bytes if these are the module header sync bytes. If this is true the ~ >program will be started, otherwise it is handled as a shell script. If ~ >the first character in the script is an '*' then it is given to the OS9 ~ >shell. ~ ~ I like the fact that your CSH will start an object file from the current ~ data directory. However, it is useful to have the ability to instruct ~ that command interpreter to first look in the current data directory ~ before searching elswhere, especially when one does development work in ~ "." and "." is changing frequently. Hmm, as an idea: Set the PATH to all directories you use and alias the `chd` command to `chd \!*;chx $cwd`. U//i P.S.: Our new e-mail address is "...!altnet!altger!top". -- UUCP: ..!unido!mutec!ud ud@mutec.UUCP Snail: Ulrich Dessauer Markt&Technik Verlag AG, Hans-Pinsel-Strasse 2, D-8013 Haar Voice: +49 89 4613 745 (Office)