[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: shell scripting book
- To: "Nadav Har'El" <nyh(at-nospam)math.technion.ac.il>
- Subject: Re: shell scripting book
- From: Ori Tzoran <ori_tz(at-nospam)netvision.net.il>
- Date: Thu, 26 Jul 2001 22:52:12 +0300
- CC: Hetz Ben Hamo <hetz-home(at-nospam)cobol2java.com>, ILUG <linux-il(at-nospam)linux.org.il>
- Delivered-To: linux.org.il-linux-il@linux.org.il
- Organization: Efrat
- References: <200107261413.RAA28613@mail.intercomp-sys.com> <20010726171958.B23108@leeor.math.technion.ac.il>
- Sender: linux-il-bounce(at-nospam)cs.huji.ac.il
partially agree with Nadav's recommendation.
exceptions and supplements:
- Kerninghan/Pike "The Unix Programming Environment" *is* the best book you could find on the subject
- since UNIX hasn't been obsoleted so far, the basics of the 7th Edition still hold true, even for Linux (Quantum mechanics didn't put Siers & Zimansky out of the market, i hope...)
- bash claims to be Ksh (and POSIX) compatible, the Korn Shell is a superset of the Bourne Shell
- when you do Shell Programming (or scripting, as you put it) the job control and history mechanisms are of no use. if you understood how to do it with 'sh', you're mostly done.
- given the bad style, mediocrity, lack of conciseness and excessive use of paper by today's publishers (led by O'Reilly), it's a good idea to initiate newcomers with the best material available.
for those who seek even better understanding of shell programming, see "Advanced Programming in the UNIX Environment" by W. Richard Stevens (BTW, the editor of this book is ... Brian Kerninghan). although this book is not at all about Shell Programming,
it provides a clear view of what happens under the hood of a shell.
i join the remark regarding csh and tcsh. the Bourne and Korn shells are true programming languages, the others aren't. last, but by far not least, stick to a standardized shell - and of those - only ksh and bash comply.
enjoy, Ori
Nadav Har'El wrote:
> On Thu, Jul 26, 2001, Hetz Ben Hamo wrote about "shell scripting book":
> > Hi,
> >
> > Few people have asked me about a good book to learn shell scripting...
> >
> > Any recommendations, people? are there online tutorials? back when I started
> > there was an oreilly book, but I lost it and can't remember it's name...
>
> It depends what you mean by "shell scripting". There are two possible ways
> to read this:
> 1. How to use a given shell (say, bash or zsh)
> or
> 2. How to use Unix utilities (like ls, grep, awk, sort, date, etc.) from
> within a shell.
>
> Kernighan & Pike's "The Unix Programming Environment" was an *excellent*
> book explaining both issues (as well as a lot of other advance stuff!), but
> it is quite outdated by now (it was published in 1984, but it still in print -
> I bought a copy last year). I don't know what book with comparable quality
> is recommended now.
>
> If you're like many Linux users out there - already familiar with the basic
> Unix commands (ls, date, grep, etc.) but want to learn how to write shell
> scripts ("WTF is that 'fi'? Why not 'endif'?"), or generally use your shell
> in a more efficient manner, then you need a book only on issue #1 above.
>
> In that case I recommend Zsh, and you can find documentation on it in
>
> http://sunsite.dk/zsh/
>
> (it's quite possible to learn zsh from these documentations - it includes a
> somewhat-old introduction, and more updated reference manuals)
>
> Under no circumstances use csh or tcsh. Search google for "csh considered
> harmful" for an explanation on why (the article was written by Perl guru Tom
> Christiansen).
>
> --
> Nadav Har'El | Thursday, Jul 26 2001, 6 Av 5761
> nyh@math.technion.ac.il |-----------------------------------------
> Phone: +972-53-245868, ICQ 13349191 |I am logged in, therefore I am.
> http://nadav.harel.org.il |
>
> =================================================================
> To unsubscribe, send mail to linux-il-request@linux.org.il with
> the word "unsubscribe" in the message body, e.g., run the command
> echo unsubscribe | mail linux-il-request@linux.org.il
=================================================================
To unsubscribe, send mail to linux-il-request@linux.org.il with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail linux-il-request@linux.org.il