"Are there tutorials on c-shell scripts?", summary of replys.
wa371
wa371 at sdcc12.UUCP
Thu Mar 21 16:53:25 AEST 1985
>>>>>>Question posed to the net:
> There seem to be many books and tutorials on UNIX, but they
> deal with the writing of shell scripts only in passing, if at
> all. Are there any texts or tutorials that teach the writing
> of scripts for the C-shell in some detail?
>>>>>>Reply:
From: ihnp4!pegasus!hansen
First comment is that you really don't want to write C-shell scripts.
1) The Bourne shell is a far superior programming language.
2) Any C-shell script that you write and later want to post
or give away to someone else only has a ~50% chance of being
usable by that person. (Many systems do not have or WANT the csh.)
3) Bourne shell scripts can be run on all UNIX systems since V7.
4) Start your Bourne shell script with "#! /bin/sh" and your kernel
should recognize it directly making it faster at starting up that
any comparable csh script.
5) Csh scripts will still source .cshrc and hash everything, so their
startup is even slower.
6) Recent versions of the Bourne shell have incremental hashing of
commands so that running otherwise identical sh and csh scripts is
MUCH faster in sh than in csh.
7) Posting csh scripts will only get you yelled at. :-)
Tony Hansen
pegasus!hansen
>>>>>>Reply:
From: ucbvax!ucla-cs!lcc!gm ( Greg McGary)
The only tutorial I know of is Bill Joy's `An Introduction to the C-shell'.
This article is included with the BSD documentation set in Volume 2 of
the programmer's manual.
I think you've already discovered that most tutorials are written for
the Bourne shell. (/bin/sh) The general consensus is that Kernighan
and Pike's `Unix Programming Environment' gives the best available
treatment of the subject. Please do not shy away from learning the
Bourne Shell because you feel you are most interested in the C-shell.
The techniques of shell programming apply to both shells. Once you
what you want to do with a shell program and generally how you want to
do it, in most cases it is a simple matter of consulting the manual page
to select the correct syntax.
Also, you may discover (like many of us) that the Bourne Shell is
really the shell of choice for programming. It is more capable and
less buggy. Personally, I prefer the C-shell for interactive use
(until the Korn Shell becomes available...) because of history, job
control, and aliases. But for shell programming, I always use
the Bourne Shell.
Greg McGary
Locus Computing Corp.
lcc!gm at ucla-cs
{ihnpr,randvax,sdcrdcf,ucbvax}!ucla-cs!lcc!gm
{trwspp,ucivax}!ucla-va!ucla-cs!lcc!gm
trwb!lcc!gm
>>>>>>Reply:
From: ihnp4!ihnp1!packard!harvard!chavez
I wrote a tutorial introduction called "Applications Prototyping
in the UNIX Shells" as part of DEC's ULTRIX-32 courseware. I can't
distribute the tutorial since it's DEC's property, but I don't see
why you couldn't write to DEC Software Support in Marlboro, MA for
details.
R. Martin Chavez
chavez at harvard.ARPA
>>>>>>Reply:
From: ucbvax!jonathan at ucbcory.Berkeley.ARPA (Jonathan Creighton)
Kernighan and Pike have written "The Unix Programming Environment"
which contains some tutorial-like chapters on shell programming...
IT'S EVERYWHERE!! JC
>>>>>>Reply:
From: "George R. Cross" <noscvax!cross%lsu.csnet at csnet-relay.arpa>
Digital is selling courses on shell programming:
Shell Programming for Users EY-2230E-PO
Shell Programming for Programmers EY-2231E-PO
Ordering Information
1-800-332-5656
Digital Equipment Corporation
Educational Services Department
12 Crosby Drive BVUO/E55-41
Bedford, MA 01730
Reference
Edu
Winter 1985
Issue #37
Page 46
---------
George R. Cross
Computer Science Department
Louisiana State University
Baton Rouge, LA 70803-4020
Phone: 504-388-1495
CSNET: cross at lsu
ARPA: cross%lsu at csnet-relay
BITNET: cscros at nsnccvm
cscros%nsnccvm.BITNET at wiscvm.ARPA
>>>>>>Reply:
From: ihnp4!utzoo!henry
Probably not. Most script-writers use the real shell, not the C shell;
for scripts in particular, it's a big win. Kernighan&Pike is a good
source for how to write shell scripts.
>>>>>>Reply:
From: sdcrdcf!hplabs!tektronix!tektools!barbaraz
I'm the project leader for UNIX training at Tektronix. To my knowledge,
there's nothing available that teaches C-shell programming, other than
some local internal documentation that people write out of the goodness
of their heart.
Are you absolutely set on using C-shell for programming? We try to steer
people away from it *for programming*, although we encourage them to
use it as a command interpreter, and we teach them Bourne shell programming
instead. Some of the major reasons are:
- Bourne is usually faster,
- Bourne is more portable (only Berkeley sites have C-shell, usually),
- The syntax is simpler (people tell me that it's easier to use
Bourne shell than remember the differences between C and C-shell),
- Bourne has some features that are especially nice for programming
(such as traps and the ability to independently redirect each
output channel.)
If you're set on C-shell, I can't help you. If you'll consider Bourne,
look at "The UNIX Programming Environment" (Kernighan and Pike) and
"The UNIX System" (S.R. Bourne) - the first half of both books talk about
shell programming in quite a bit of detail. Also, once you have the
principles, most syntax changes are simply a matter of looking them
up in the manual.
Barbara Zanzig
{allegra, ihnp4, decvax, ucbvax, ...}!tektronix!tektools!barbaraz
>>>>>>Reply:
From: decvax!utcs!ian (Ian F. Darwin)
Few people write serious scripts for csh, since sh is widely
admitted to be better as a programming language.
For writing sh scripts, see `The UNIX Programming Environment'
by Kernighan and Pike.
>>>>>>>>>End of summary, 'csh tutorials'.
Bernd (the smokeless bear)
(Not affiliated with, nor speaking for U.C. San Diego)
UUCP: ...!ucbvax!sdcsvax!sdcc12!wa371, ARPA: sdcsvax!sdcc12!wa371 at nosc
More information about the Comp.unix.wizards
mailing list