Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am using bash.

Is there a book out there that's the de-facto standard for describing best practices, design methodologies, and other helpful information on Linux shell scripting? What about that book makes it special?

share|improve this question

closed as off-topic by MichaelT, Robert Harvey, Kilian Foth, gnat, Bart van Ingen Schenau Jul 10 at 18:55

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions asking us to recommend a tool, library or favorite off-site resource are off-topic for Programmers as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it." – MichaelT, Robert Harvey, Kilian Foth, gnat, Bart van Ingen Schenau
If this question can be reworded to fit the rules in the help center, please edit the question.

Most shell stuff is generic for all Unix variants. –  user1249 Dec 9 '11 at 0:30
add comment

4 Answers 4

I've found that this has been a good reference when I've needed to pick some up on the fly.

As for Christian's answer, I don't have experience with that book myself but I generally trust O'Reilly (the publisher of the In a Nutshell) books to publish good material. I've only been disappointed by them twice.

share|improve this answer
add comment

This one is pretty old (I bought it in 1999, and I think it was already old then) but it is pretty good as a reference and for starters.


share|improve this answer
there is a newer edition. Would you recommend it ? Or is there something special about the 2nd edition ? –  Matthieu Dec 9 '11 at 13:46
add comment

Learning the Bash shell. O'Reilly.

Chapter 4 covers basic shell programming. You'll learn how to write and edit shell scripts.

The book continues with coverage of Flow Control, Command Line Options, Input/Output Processing, Process Handling, Debugging, Getting and Installing bash, and Administration. It finishes with some extremely useful appendices covering Related Shells, Reference Lists, Loadable Built-Ins, Systax, and Obtaining Sample Programs.

share|improve this answer
add comment

I learned it from Linux in a Nutshell :

Linux in a Nutshell covers the core commands available on common Linux distributions. This isn't a scaled-down quick reference of common commands, but a complete reference to all user, programming, administration, and networking commands with complete lists of options.

Contents also include:

  • LILO and Loadlin (boot) options
  • Shell syntax and variables for the bash, csh, andtcsh shells
  • Pattern matching
  • Emacs and vi editing commands
  • sed and gawk commands
  • Common configuration tasks for the GNOME and KDE desktops and the fvwm2 window manager

New material in the third edition includes common configuration tasks for the GNOME and KDE desktops and the fvwm2 window manager, the dpkg Debian package manager, an expanded investigation of the rpm Red Hat package manager and CVS, and many new commands.

Linux in a Nutshell is a must for any Linux user; it weighs less than a stack of manual pages, but delivers everything needed for common, day-to-day use. It also covers a wide range of GNU tools for Unix users who have GNU versions of standard Unix tools.

share|improve this answer
add comment