Expert Shell Scripting
by Ron Peters
Automating Linux and Unix System Administration
by Nate Campi; Kirk Bauer
Shell Scripting Recipes: A Problem-Solution Approach
by Chris F. A. Johnson
Unix in a Nutshell, 4th Edition
by Arnold Robbins
Classic Shell Scripting, 1st Edition
by Arnold Robbins; Nelson H.F. Beebe
Learning the bash Shell, 3rd Edition
by Cameron Newham; Bill Rosenblatt
Learning Python, 3rd Edition
by Mark Lutz
Erlang Programming, 1st Edition
by Francesco Cesarini; Simon Thompson
Portable shell scripting is today the future of modern Linux, OS X, and Unix command-line access. Beginning Portable Shell Scripting: From Novice to Professional teaches shell scripting by using the common core of most shells and expands those principles to all of scripting.
You will learn about portable scripting and how to use the same syntax and design principles for all shells. You'll discover about the interaction between shells and other scripting languages like Ruby and Python, and everything you learn will be shown in context for Linux, OS X, bash, and AppleScript.
Average Amazon.com® Rating: ![]()
![]()
![]()
![]()
Based on 5 Ratings
not for beginners - 2008-12-26
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
"Beginning Portable Shell Scripting" has a very clear mission - teach the reader how to write shell scripts that will work in all Bourne family shells. The book assumes you know UNIX already. While you don't need to know shell scripting already, it is helpful. The book is very intense if you are using it learn the scripting basics at the same time.
I like how the author starts by showing the interactive command type in by the user vs what is evaluated/run vs what is output. This was a good way to teach shell scripting quoting. I also like the emphasis on what happens in edge cases.
I think that non-portable code could be better flagged. It's easy to gloss over embedded in the text. Or find again. Two chapters really went into detail on portability. I guess I expected it to be flagged throughout.
Chapter two says you can skip it if you already know reg exps. A word of advice: don't. I recommend skimming it anyway the chapter contains valuable distinctions on globbing/shell expansion. I also liked chapter three's multiple attempts at a script showing the errors in each until getting to the desired behavior.
As an aside, there's about 80 pages of appendices and the about the technical reviewer page was both entertaining and written completely in UNIX shell script.
The book mainly loses points for not being aimed at beginners with a title containing the word "beginning."
Not only for beginners - 2008-12-07
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Once in a while I find a book that gives me a memorable impression. One such book is Apress' Beginning Portable Shell Scripting by Peter Seebach.
Seebach covers historic aspects of the Unix shells as well as the ins and outs of shell programming. He explains very well why it is so important to think about portability, and that writing portable programs is often not very much more work than not doing so.
Although the book is titled Beginning Portable Shell Scripting it isn't a book only for beginners -- I know lots of pros who should read this book from cover to cover.
Excellent on many levels - 2009-07-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
This is one of those books that you can read fifteen times, and get more out of at each reading. It gives on many levels. On one level, it gives clear explanation of concepts that are often badly explained (I understand exactly how redirection works, and I'll never again make mistakes from muddy understanding of the concept). On another level, it is a treasure trove of useful tidbits that everyone seems to breeze by when reading the man pages. At the deepest level, it illustrates the power of the POSIX shell, a language far more expressive than I had previously given credit for. I would recommend this book to anyone serious about learning shell programming.
Best book I ever wrote - 2009-11-12
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
Having heard that authors frequently review their own books, I thought I'd give it a try. This is, without a doubt, the best book on portable shell scripting I have ever written. Sadly, it is also the worst book on portable shell scripting I have ever written.
What I can tell you is this:
* Before I started writing this book, I thought I was fairly expert in portable shell scripting.
* I learned a lot more writing this book than I knew before I started writing it.
* This book has ended up being one of my key desk references, which is pretty funny, because you'd think I'd know this stuff by now.
I'm not totally happy with everything about this book. I'm giving it five stars anyway because I can't name anything I think is better for the purpose right now... But I wouldn't mind revising and expanding for a second edition.
Don't let the "beginning" throw you off; this book was a real eye-opener for me, and I'd been writing shell scripts for somewhere between fifteen and twenty years, including production software. On the other hand, if you've got a bit of programming experience, I like to imagine that you really could have this as your first introduction to the shell, and probably do just fine.
Stunningly Excellent - 2009-10-06
Reviewer Rating: ![]()
![]()
![]()
![]()
![]()
I just received the book today and have read/skimmed through the work.
This is one of the most literate and thoughtful programming books I've read and ranks among the best on shell scripting.
Most books on scripting spend a lot of time on installation/environment issues, or "quick hits" to perform a specific action.
Author Seebach takes an approach more akin to classic works on programming -- and discusses in great depth and clarity the details of how the shell actually works. Throughout, this is a patient and thorough approach. Programmers who are learning the shell will find a this a most helpful discussion. However, those without a programming background will probably not understand why these issues are important. This provides required background for the goal of portability. As such it offers a wealth of insight into the technical operation of the shell.
There's not a lot of code in the work. However, it provides a thorough background on the many issues raised by shell portability -- and there are more than you'd expect.
This work focuses on descendants of the Bourne shell. The common base is POSIX. This includes: bash -- Bourne again shell, ksh -- Korn shell, Almquist and variants. zsh, or the Z shell, is mentioned in so far as it can emulate the POSIX standard. The C shell -- csh, and its more modern variant tcsh are not included for several reasons. The syntax of these shells is based more on C, and are not considered to be as robust alternatives for composing scripts. Their forte is command line operation in the opinion of the author.
If you like to think before you code, this is such a fine work to support your efforts. If you don't like to think before you code, you might want to rethink that...
Top Level Categories:
Operating Systems
Programming
Sub-Categories:
Operating Systems > Linux
Linux > Shell Utilities
Operating Systems > UNIX
UNIX > System Programming
Programming > UNIX
Some information on this page was provided using data from Amazon.com®. View at Amazon >