Buy this Book
Print Book $34.95 PDF $23.99 Read it Now!
Print Book £24.95
Add to UK Cart
Reprint Licensing
Learning the bash Shell, Third Edition

By Cameron Newham
Third Edition  March 2005 
Pages: 352
ISBN 10: 0-596-00965-8 | ISBN 13: 9780596009656
starstarstarstarstar (Average of 2 Customer Reviews)

Buy 2 Get 1 Free Free ShippingGuarantee

Book description

This refreshed edition serves as the most valuable guide yet to the bash shell. It's full of practical examples of shell commands and programs guaranteed to make everyday use of Linux that much easier. Includes information on key bindings, command line editing and processing, integrated programming features, signal handling, and much more!
Full Description

O'Reilly's bestselling book on Linux's bash shell is at it again. Now that Linux is an established player both as a server and on the desktop Learning the bash Shell has been updated and refreshed to account for all the latest changes. Indeed, this third edition serves as the most valuable guide yet to the bash shell. As any good programmer knows, the first thing users of the Linux operating system come face to face with is the shell the UNIX term for a user interface to the system. In other words, it's what lets you communicate with the computer via the keyboard and display. Mastering the bash shell might sound fairly simple but it isn't. In truth, there are many complexities that need careful explanation, which is just what Learning the bash Shell provides. If you are new to shell programming, the book provides an excellent introduction, covering everything from the most basic to the most advanced features. And if you've been writing shell scripts for years, it offers a great way to find out what the new shell offers. Learning the bash Shell is also full of practical examples of shell commands and programs that will make everyday use of Linux that much easier. With this book, programmers will learn:
  • How to install bash as your login shell
  • The basics of interactive shell use, including UNIX file and directory structures, standard I/O, and background jobs
  • Command line editing, history substitution, and key bindings
  • How to customize your shell environment without programming
  • The nuts and bolts of basic shell programming, flow control structures, command-line options and typed variables
  • Process handling, from job control to processes, coroutines and subshells
  • Debugging techniques, such as trace and verbose modes
  • Techniques for implementing system-wide shell customization and features related to system security

Browse within this book

Cover | Table of Contents | Colophon



Featured customer reviews

Write a Review


a great task oriented introductory/intermediate guide,  June 20 2007
Rating: StarStarStarStarStar
Submitted by Niu   [Respond | View]

This is a valuable introduction book for the bash shell. The best part of this book for me was all the tasks after each subsection. These tasks are designed to encourage you to think about new commands you just learned. The difficulty level was right-on for me, neither too simple or too hard. These helpful practices are rarely seen in other handbooks. Reading and understanding this book, plus completing the recommended tasks, will get you well on your way to productive bash usage and bash programming.

One disappointment was that the book is not a complete reference. The book covers most useful materials you need to know but not all. If you want a complete reference to the bash shell, skip this one.

I highly recommend this book for people in beginning or intermediate level who want to know bash shell.


maybe a bug in pushd() at 5.1.1,  February 12 2006
Submitted by Anonymous Reader   [Respond | View]

the pushd() funtion in section 5.1.1:


pushd ( )
{

dirname=$1

if cd ${dirname:?"missing directory name."}
then
DIR_STACK="$dirname ${DIR_STACK:-$PWD' '}"
echo $DIR_STACK
else
echo still in $PWD.
fi
}

should it be:

pushd ( )
{
dirname=$1
oldpwd=$PWD

if cd ${dirname:?"missing directory name."}
then
DIR_STACK="$dirname ${DIR_STACK:-$oldpwd' '}"
echo $DIR_STACK
else
echo still in $PWD.
fi
} ?




Good and Suggestions,  July 28 2005
Rating: StarStarStarStarStar
Submitted by linux learner   [Respond | View]

This book is a good introduction to the bash shell. It is well written and well-edited.
As a serious hobbiest programmer of several languages, I was interested in getting deeper
into the applications of the shell of Linux as an important aspect of learning the overall operating system and gaining the ability to write my own programs both at the GUI level and at the shell or terminal level.
The shell presents a confusing array of arcane syntaxes and symbols that I found difficult
to learn. This book helps sort that out. The shell also throws a group of terminal applications at tasks using the likes of sed, awk, and grep that totally confuse the neophyte. The book only slightly makes a dent in this aspect.
One deficiency is the lack of online sample code that can be downloaded although some typing of your own is always helpful to learning. I went to the 2nd edition site and got what appears to be similar examples.
I actually would like to see more examples and of a greater variety in the book. Some more advanced but still accessible scripts would be useful in the transition from simple code to real applications. Examples more on the line of the debugger code that is given. What do I mean? Well, how about an installation script for software the user might write including installation options and the use or alternative non-use of rpms. Some tips on shaping the environment and configuration for running your programs. How about some internet access via scripts that use wget perhaps in an automated manner for software updates (I know there are applications that do this already). How about extensive file copying and directory creation similar to moving things around with Conqueror or copying from cd's except from the shell. Obviously, this list goes on and on. The author spent an inordinate amount of time with pushd and popd but not one example using tar which is a bread and butter application.
It is a good book that can still be improved.

Read all reviews


Media reviews

"Exceptionally well presented, but the reader needs to be motivated to learn shell programming. That is not to say the book is complex and requires some particular background knowledge; shell programming--whether bash or any other of the Unix/Linux shells--is a powerful tool that requires focus. The effort is well worth while, and this is the best from which to start."
-- Major Keary, Book News

"After you read and understand this book, you'll be well on your way to becoming a competent bash shell programmer."
--Ed Schaefer, Unix Review, June 2005

Read all reviews


See larger cover