2273 lines
33 KiB
HTML
2273 lines
33 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||
<HTML
|
||
><HEAD
|
||
><TITLE
|
||
>Bibliography</TITLE
|
||
><META
|
||
NAME="GENERATOR"
|
||
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"><LINK
|
||
REL="HOME"
|
||
TITLE="Advanced Bash-Scripting Guide"
|
||
HREF="index.html"><LINK
|
||
REL="PREVIOUS"
|
||
TITLE="Disclaimer"
|
||
HREF="disclaimer.html"><LINK
|
||
REL="NEXT"
|
||
TITLE="Contributed Scripts"
|
||
HREF="contributed-scripts.html"></HEAD
|
||
><BODY
|
||
CLASS="BIBLIOGRAPHY"
|
||
BGCOLOR="#FFFFFF"
|
||
TEXT="#000000"
|
||
LINK="#0000FF"
|
||
VLINK="#840084"
|
||
ALINK="#0000FF"
|
||
><DIV
|
||
CLASS="NAVHEADER"
|
||
><TABLE
|
||
SUMMARY="Header navigation table"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TH
|
||
COLSPAN="3"
|
||
ALIGN="center"
|
||
>Advanced Bash-Scripting Guide: </TH
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="left"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="disclaimer.html"
|
||
ACCESSKEY="P"
|
||
>Prev</A
|
||
></TD
|
||
><TD
|
||
WIDTH="80%"
|
||
ALIGN="center"
|
||
VALIGN="bottom"
|
||
></TD
|
||
><TD
|
||
WIDTH="10%"
|
||
ALIGN="right"
|
||
VALIGN="bottom"
|
||
><A
|
||
HREF="contributed-scripts.html"
|
||
ACCESSKEY="N"
|
||
>Next</A
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"></DIV
|
||
><A
|
||
NAME="BIBLIO"
|
||
></A
|
||
><H1
|
||
><A
|
||
NAME="BIBLIO"
|
||
></A
|
||
>Bibliography</H1
|
||
><A
|
||
NAME="BIBLIOREF"
|
||
></A
|
||
><TABLE
|
||
BORDER="0"
|
||
WIDTH="100%"
|
||
CELLSPACING="0"
|
||
CELLPADDING="0"
|
||
CLASS="EPIGRAPH"
|
||
><TR
|
||
><TD
|
||
WIDTH="45%"
|
||
> </TD
|
||
><TD
|
||
WIDTH="45%"
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
><I
|
||
><P
|
||
><I
|
||
>Those who do not understand UNIX are condemned to reinvent it,
|
||
poorly.</I
|
||
></P
|
||
><P
|
||
><I
|
||
>--Henry Spencer</I
|
||
></P
|
||
><P
|
||
><I
|
||
><A
|
||
NAME="DENNINGREF"
|
||
></A
|
||
></I
|
||
></P
|
||
></I
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21461"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="EDITOR"
|
||
>Edited by Peter Denning</SPAN
|
||
>, <I
|
||
>Computers Under Attack: Intruders, Worms, and Viruses</I
|
||
>, ACM Press, 1990, 0-201-53067-8.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>This compendium contains a couple of articles on
|
||
shell script viruses.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21475"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Ken Burtch</SPAN
|
||
>, <I
|
||
><A
|
||
HREF="http://www.samspublishing.com/title/0672326426"
|
||
TARGET="_top"
|
||
>Linux Shell Scripting with Bash</A
|
||
></I
|
||
>, 1st edition, Sams Publishing (Pearson), 2004, 0672326426.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
> Covers much of the same material as the <EM
|
||
>ABS
|
||
Guide</EM
|
||
>, though in a different style.</P
|
||
><P
|
||
>*</P
|
||
><P
|
||
><A
|
||
NAME="DGSEDREF"
|
||
></A
|
||
></P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21494"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Daniel Goldman</SPAN
|
||
>, <I
|
||
><A
|
||
HREF="http://www.sed-book.com/"
|
||
TARGET="_top"
|
||
>Definitive Guide
|
||
to Sed</A
|
||
></I
|
||
>, 1st edition, 2013.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
> This ebook is an excellent introduction to
|
||
<I
|
||
CLASS="FIRSTTERM"
|
||
>sed</I
|
||
>. Rather than being a conversion from
|
||
a printed volume, it was specifically designed and formatted
|
||
for viewing on an ebook reader. Well-written, informative,
|
||
and useful as a reference as well as a tutorial. Highly
|
||
recommended.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21508"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Dale Dougherty </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and Arnold Robbins</SPAN
|
||
>, <I
|
||
>Sed and Awk</I
|
||
>, 2nd edition, O'Reilly and Associates, 1997, 1-156592-225-5.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
> Unfolding the full power of shell scripting requires at least a passing
|
||
familiarity with <A
|
||
HREF="sedawk.html#SEDREF"
|
||
><I
|
||
CLASS="FIRSTTERM"
|
||
>sed</I
|
||
>
|
||
and <I
|
||
CLASS="FIRSTTERM"
|
||
>awk</I
|
||
></A
|
||
>. This is the classic
|
||
tutorial. It includes an excellent introduction to
|
||
<I
|
||
CLASS="FIRSTTERM"
|
||
>Regular Expressions</I
|
||
>. Recommended.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21530"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Jeffrey Friedl</SPAN
|
||
>, <I
|
||
>Mastering Regular Expressions</I
|
||
>, O'Reilly and Associates, 2002, 0-596-00289-0.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Still the best all-around reference on <A
|
||
HREF="regexp.html#REGEXREF"
|
||
>Regular Expressions</A
|
||
>.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21545"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Aeleen Frisch</SPAN
|
||
>, <I
|
||
>Essential System Administration</I
|
||
>, 3rd edition, O'Reilly and Associates, 2002, 0-596-00343-9.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>This excellent manual provides a decent introduction
|
||
to shell scripting from a sys admin point of view. It includes
|
||
comprehensive explanations of the startup and initialization
|
||
scripts in a UNIX system.</P
|
||
><P
|
||
>*</P
|
||
><P
|
||
><A
|
||
NAME="KOCHANREF"
|
||
></A
|
||
></P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21562"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Stephen Kochan </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and Patrick Wood</SPAN
|
||
>, <I
|
||
>Unix Shell Programming</I
|
||
>, Hayden, 1990, 067248448X.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Still considered a standard reference, though somewhat dated, and
|
||
a bit <SPAN
|
||
CLASS="QUOTE"
|
||
>"wooden"</SPAN
|
||
> stylistically speaking.
|
||
<A
|
||
NAME="AEN21579"
|
||
HREF="#FTN.AEN21579"
|
||
><SPAN
|
||
CLASS="footnote"
|
||
>[1]</SPAN
|
||
></A
|
||
>
|
||
In fact, this book was the <I
|
||
CLASS="FIRSTTERM"
|
||
>ABS Guide</I
|
||
> author's
|
||
first exposure to UNIX shell scripting, lo these many years ago.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21583"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Neil Matthew </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and Richard Stones</SPAN
|
||
>, <I
|
||
>Beginning Linux Programming</I
|
||
>, Wrox Press, 1996, 1874416680.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Surprisingly good in-depth coverage of various
|
||
programming languages available for Linux, including a fairly
|
||
strong chapter on shell scripting.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="MAYERREF"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Herbert Mayer</SPAN
|
||
>, <I
|
||
>Advanced C Programming on the IBM PC</I
|
||
>, Windcrest Books, 1989, 0830693637.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Excellent coverage of algorithms and general
|
||
programming practices. Highly recommended, but unfortunately
|
||
out of print.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21614"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>David Medinets</SPAN
|
||
>, <I
|
||
>Unix Shell Programming Tools</I
|
||
>, McGraw-Hill, 1999, 0070397333.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Pretty good treatment of shell scripting, with
|
||
examples, and a short intro to Tcl and Perl.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21628"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Cameron Newham </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and Bill Rosenblatt</SPAN
|
||
>, <I
|
||
>Learning the Bash Shell</I
|
||
>, 2nd edition, O'Reilly and Associates, 1998, 1-56592-347-2.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>This is a valiant effort at a decent shell primer,
|
||
but sadly deficient in its coverage of writing scripts and
|
||
lacking sufficient examples.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21646"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Anatole Olczak</SPAN
|
||
>, <I
|
||
>Bourne Shell Quick Reference Guide</I
|
||
>, ASP, Inc., 1991, 093573922X.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>A very handy pocket reference, despite lacking
|
||
coverage of Bash-specific features.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21660"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Jerry Peek, </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Tim O'Reilly, </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and Mike Loukides</SPAN
|
||
>, <I
|
||
>Unix Power Tools</I
|
||
>, 3rd edition, O'Reilly and Associates, Random House, 2002, 0-596-00330-7.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Contains a couple of sections of very informative
|
||
in-depth articles on shell programming, but falls short of being
|
||
a self-teaching manual. It reproduces much of the <A
|
||
HREF="regexp.html#REGEXREF"
|
||
>Regular Expressions</A
|
||
> tutorial from the
|
||
Dougherty and Robbins book, above. The comprehensive coverage
|
||
of UNIX commands makes this book worthy of a place on your
|
||
bookshelf.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21684"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Clifford Pickover</SPAN
|
||
>, <I
|
||
>Computers, Pattern, Chaos, and Beauty</I
|
||
>, St. Martin's Press, 1990, 0-312-04123-3.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>A treasure trove of ideas and recipes for
|
||
computer-based exploration of mathematical oddities.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21698"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>George Polya</SPAN
|
||
>, <I
|
||
>How To Solve It</I
|
||
>, Princeton University Press, 1973, 0-691-02356-5.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The classic tutorial on problem-solving methods
|
||
(algorithms), with special emphasis on how to teach them.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21712"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Chet Ramey </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and Brian Fox</SPAN
|
||
>, <I
|
||
><A
|
||
HREF="http://www.network-theory.co.uk/bash/manual/"
|
||
TARGET="_top"
|
||
>The GNU Bash Reference Manual</A
|
||
></I
|
||
>, Network Theory Ltd, 2003, 0-9541617-7-7.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>This manual is the definitive reference for
|
||
GNU Bash. The authors of this manual, Chet Ramey and Brian Fox,
|
||
are the original developers of GNU Bash. For each copy sold,
|
||
the publisher donates $1 to the Free Software Foundation.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21730"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Arnold Robbins</SPAN
|
||
>, <I
|
||
>Bash Reference Card</I
|
||
>, SSC, 1998, 1-58731-010-5.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Excellent Bash pocket reference (don't leave home without it,
|
||
especially if you're a sysadmin). A bargain at $4.95, but
|
||
unfortunately no longer available for free download.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21744"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Arnold Robbins</SPAN
|
||
>, <I
|
||
>Effective Awk Programming</I
|
||
>, Free Software Foundation / O'Reilly and Associates, 2000, 1-882114-26-4.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The absolute best <A
|
||
HREF="awk.html#AWKREF"
|
||
>awk</A
|
||
>
|
||
tutorial and reference. The free electronic version of this
|
||
book is part of the <I
|
||
CLASS="FIRSTTERM"
|
||
>awk</I
|
||
> documentation,
|
||
and printed copies of the latest version are available from
|
||
O'Reilly and Associates.</P
|
||
><P
|
||
>This book served as an inspiration for the author
|
||
of the <I
|
||
CLASS="FIRSTTERM"
|
||
>ABS Guide</I
|
||
>.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21762"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Bill Rosenblatt</SPAN
|
||
>, <I
|
||
>Learning the Korn Shell</I
|
||
>, O'Reilly and Associates, 1993, 1-56592-054-6.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
NAME="KORNSHELLREF"
|
||
></A
|
||
>This well-written book contains
|
||
some excellent pointers on shell scripting in general.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21777"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Paul Sheer</SPAN
|
||
>, <I
|
||
>LINUX: Rute User's Tutorial and Exposition</I
|
||
>, 1st edition, , 2002, 0-13-033351-4.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Very detailed and readable introduction to Linux system
|
||
administration.</P
|
||
><P
|
||
>The book is available in print, or
|
||
<A
|
||
HREF="http://burks.brighton.ac.uk/burks/linux/rute/rute.htm"
|
||
TARGET="_top"
|
||
>on-line</A
|
||
>.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21794"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Ellen Siever </SPAN
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>and the staff of O'Reilly and Associates</SPAN
|
||
>, <I
|
||
>Linux in a Nutshell</I
|
||
>, 2nd edition, O'Reilly and Associates, 1999, 1-56592-585-8.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The all-around best Linux command reference.
|
||
It even has a Bash section.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21811"
|
||
></A
|
||
><P
|
||
><SPAN
|
||
CLASS="AUTHOR"
|
||
>Dave Taylor</SPAN
|
||
>, <I
|
||
>Wicked Cool Shell Scripts: 101 Scripts for Linux, Mac OS X, and Unix Systems</I
|
||
>, 1st edition, No Starch Press, 2004, 1-59327-012-7.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Pretty much what the title promises . . .</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21826"
|
||
></A
|
||
><P
|
||
><I
|
||
>The UNIX CD Bookshelf</I
|
||
>, 3rd edition, O'Reilly and Associates, 2003, 0-596-00392-7.</P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>An array of seven UNIX books on CD ROM, including
|
||
<I
|
||
CLASS="CITETITLE"
|
||
>UNIX Power Tools</I
|
||
>,
|
||
<I
|
||
CLASS="CITETITLE"
|
||
>Sed and Awk</I
|
||
>, and <I
|
||
CLASS="CITETITLE"
|
||
>Learning the Korn Shell</I
|
||
>. A complete
|
||
set of all the UNIX references and tutorials you would ever need
|
||
at about $130. Buy this one, even if it means going into debt
|
||
and not paying the rent.</P
|
||
><P
|
||
>Update: Seems to have somehow fallen out of print.
|
||
Ah, well. You can still buy the dead-tree editions of these books.</P
|
||
><P
|
||
>*</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21841"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The O'Reilly books on Perl. (Actually,
|
||
<EM
|
||
>any</EM
|
||
> O'Reilly books.)</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21845"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>* * *</P
|
||
><P
|
||
><B
|
||
CLASS="COMMAND"
|
||
>Other Resources</B
|
||
></P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21850"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Fioretti, Marco, <SPAN
|
||
CLASS="QUOTE"
|
||
>"Scripting for X
|
||
Productivity,"</SPAN
|
||
> <A
|
||
HREF="linuxjournal.com"
|
||
TARGET="_top"
|
||
><I
|
||
CLASS="CITETITLE"
|
||
>Linux Journal</I
|
||
></A
|
||
>, Issue 113,
|
||
September, 2003, pp. 86-9.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21856"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Ben Okopnik's well-written <I
|
||
CLASS="CITETITLE"
|
||
>introductory Bash scripting</I
|
||
>
|
||
articles in issues 53, 54, 55, 57, and 59 of the
|
||
<A
|
||
HREF="http://www.linuxgazette.net"
|
||
TARGET="_top"
|
||
><I
|
||
CLASS="CITETITLE"
|
||
>Linux Gazette</I
|
||
></A
|
||
>, and his
|
||
explanation of <SPAN
|
||
CLASS="QUOTE"
|
||
>"The Deep, Dark Secrets of Bash"</SPAN
|
||
>
|
||
in issue 56.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21863"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Chet Ramey's <I
|
||
CLASS="CITETITLE"
|
||
>Bash -
|
||
The GNU Shell</I
|
||
>, a two-part series published in issues 3
|
||
and 4 of the <A
|
||
HREF="http://www.linuxjournal.com"
|
||
TARGET="_top"
|
||
><I
|
||
CLASS="CITETITLE"
|
||
>Linux Journal</I
|
||
></A
|
||
>, July-August
|
||
1994.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21869"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Mike G's <A
|
||
HREF="http://www.tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html"
|
||
TARGET="_top"
|
||
>Bash-Programming-Intro
|
||
HOWTO</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21873"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Richard's <A
|
||
HREF="http://www.injunea.demon.co.uk/index.htm"
|
||
TARGET="_top"
|
||
>Unix
|
||
Scripting Universe</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21877"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
NAME="BASHFAQ"
|
||
></A
|
||
>Chet Ramey's
|
||
<A
|
||
HREF="http://tiswww.case.edu/php/chet/bash/FAQ"
|
||
TARGET="_top"
|
||
>Bash
|
||
FAQ</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21882"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="http://wooledge.org:8000/BashFAQ"
|
||
TARGET="_top"
|
||
> Greg's WIKI: Bash FAQ</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21886"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Example shell scripts at <A
|
||
HREF="http://alge.anart.no/linux/scripts/"
|
||
TARGET="_top"
|
||
>Lucc's Shell Scripts
|
||
</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21890"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Example shell scripts at <A
|
||
HREF="http://www.shelldorado.com"
|
||
TARGET="_top"
|
||
>SHELLdorado </A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21894"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Example shell scripts at <A
|
||
HREF="http://www.splode.com/~friedman/software/scripts/src/"
|
||
TARGET="_top"
|
||
>Noah
|
||
Friedman's script site</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21898"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="http://bashcookbook.com/bashinfo/"
|
||
TARGET="_top"
|
||
>Examples</A
|
||
>
|
||
from the <I
|
||
CLASS="CITETITLE"
|
||
>The Bash Scripting
|
||
Cookbook</I
|
||
>, by Albing, Vossen, and Newham.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21903"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Example shell scripts at <A
|
||
HREF="http://www.zazzybob.com"
|
||
TARGET="_top"
|
||
>zazzybob</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21907"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Steve Parker's <A
|
||
HREF="http://steve-parker.org/sh/sh.shtml"
|
||
TARGET="_top"
|
||
>Shell Programming
|
||
Stuff</A
|
||
>. In fact, all of his shell scripting
|
||
books are highly recommended. See also Steve's <A
|
||
HREF="http://nixshell.wordpress.com/2011/07/13/arcade-games-written-in-a-shell-script/"
|
||
TARGET="_top"
|
||
>Arcade
|
||
Games written in a shell script</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21912"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>An excellent collection of Bash scripting tips, tricks,
|
||
and resources at the <A
|
||
HREF="http://www.bash-hackers.org/wiki.doku.php"
|
||
TARGET="_top"
|
||
>Bash Hackers
|
||
Wiki</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21916"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Giles Orr's <A
|
||
HREF="http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/"
|
||
TARGET="_top"
|
||
>Bash-Prompt
|
||
HOWTO</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21920"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The <A
|
||
HREF="http://www.pixelbeat.org/cmdline.html"
|
||
TARGET="_top"
|
||
><EM
|
||
>Pixelbeat</EM
|
||
>
|
||
command-line reference</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21925"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Very nice <B
|
||
CLASS="COMMAND"
|
||
>sed</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>awk</B
|
||
>, and regular expression tutorials at
|
||
<A
|
||
HREF="http://www.grymoire.com/Unix/index.html"
|
||
TARGET="_top"
|
||
>The UNIX
|
||
Grymoire</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21931"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The GNU <A
|
||
HREF="http://www.gnu.org/software/sed/manual/"
|
||
TARGET="_top"
|
||
>sed</A
|
||
>
|
||
and
|
||
<A
|
||
HREF="http://www.gnu.org/software/gawk/manual/"
|
||
TARGET="_top"
|
||
> gawk</A
|
||
> manuals. As you recall, <A
|
||
HREF="x17129.html#GNUGAWK"
|
||
>gawk</A
|
||
> is the enhanced GNU version of
|
||
<B
|
||
CLASS="COMMAND"
|
||
>awk</B
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21938"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Many interesting sed scripts at the <A
|
||
HREF="http://sed.sourceforge.net/grabbag/"
|
||
TARGET="_top"
|
||
> seder's grab bag</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21942"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Tips and tricks at <A
|
||
HREF="http://linuxreviews.org"
|
||
TARGET="_top"
|
||
> Linux Reviews</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21946"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Trent Fisher's <A
|
||
HREF="http://www.cs.pdx.edu/~trent/gnu/groff/groff.html"
|
||
TARGET="_top"
|
||
>groff
|
||
tutorial</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21950"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>David Wheeler's <A
|
||
HREF="http://www.dwheeler.com/essays/filenames-in-shell.html"
|
||
TARGET="_top"
|
||
>Filenames
|
||
in Shell</A
|
||
> essay.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21954"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><SPAN
|
||
CLASS="QUOTE"
|
||
>"Shelltris"</SPAN
|
||
> and <SPAN
|
||
CLASS="QUOTE"
|
||
>"shellitaire"</SPAN
|
||
>
|
||
at <A
|
||
HREF="http://www.shellscriptgames.com"
|
||
TARGET="_top"
|
||
>Shell Script
|
||
Games</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21960"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>YongYe's wonderfully complex <A
|
||
HREF="http://bash.deta.in/Tetris_Game.sh"
|
||
TARGET="_top"
|
||
>Tetris game
|
||
script</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21964"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Mark Komarinski's <A
|
||
HREF="http://www.tldp.org/HOWTO/Printing-Usage-HOWTO.html"
|
||
TARGET="_top"
|
||
>Printing-Usage
|
||
HOWTO</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21968"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="http://www.linux-usb.org/USB-guide/book1.html"
|
||
TARGET="_top"
|
||
>The
|
||
Linux USB subsystem</A
|
||
> (helpful in writing scripts affecting
|
||
USB peripherals).</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21972"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>There is some nice material on <A
|
||
HREF="io-redirection.html#IOREDIRREF"
|
||
>I/O redirection</A
|
||
> in <A
|
||
HREF="http://sunsite.ualberta.ca/Documentation/Gnu/textutils-2.0/html_chapter/textutils_10.html"
|
||
TARGET="_top"
|
||
> chapter 10 of the textutils documentation</A
|
||
> at the <A
|
||
HREF="http://sunsite.ualberta.ca/Documentation"
|
||
TARGET="_top"
|
||
> University of
|
||
Alberta site</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21978"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="mailto:humbubba@smarty.smart.net"
|
||
TARGET="_top"
|
||
>Rick
|
||
Hohensee</A
|
||
> has written the
|
||
<I
|
||
CLASS="FIRSTTERM"
|
||
>osimpa</I
|
||
> i386 assembler
|
||
entirely as Bash scripts.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21983"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><I
|
||
CLASS="FIRSTTERM"
|
||
>dgatwood</I
|
||
>
|
||
has a very nice <A
|
||
HREF="http://www.shellscriptgames.com/"
|
||
TARGET="_top"
|
||
> shell script games</A
|
||
> site, featuring a Tetris<69>
|
||
clone and solitaire.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21988"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Aurelio Marinho Jargas has written a <A
|
||
HREF="http://txt2regex.sf.net"
|
||
TARGET="_top"
|
||
>Regular expression
|
||
wizard</A
|
||
>. He has also written an informative <A
|
||
HREF="http://guia-er.sf.net"
|
||
TARGET="_top"
|
||
>book</A
|
||
> on Regular Expressions,
|
||
in Portuguese.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21993"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="mailto:brtompkins@comcast.net"
|
||
TARGET="_top"
|
||
>Ben
|
||
Tomkins</A
|
||
> has created the <A
|
||
HREF="http://bashnavigator.sourceforge.net"
|
||
TARGET="_top"
|
||
> Bash Navigator</A
|
||
> directory management tool.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN21998"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="mailto:opengeometry@yahoo.ca"
|
||
TARGET="_top"
|
||
>William Park</A
|
||
>
|
||
has been working on a project
|
||
to incorporate certain <I
|
||
CLASS="FIRSTTERM"
|
||
>Awk</I
|
||
> and
|
||
<I
|
||
CLASS="FIRSTTERM"
|
||
>Python</I
|
||
> features into Bash. Among these is
|
||
a <I
|
||
CLASS="FIRSTTERM"
|
||
>gdbm</I
|
||
> interface. He has released
|
||
<I
|
||
CLASS="FIRSTTERM"
|
||
>bashdiff</I
|
||
>
|
||
on <A
|
||
HREF="http://freshmeat.net"
|
||
TARGET="_top"
|
||
>Freshmeat.net</A
|
||
>. He
|
||
has an <A
|
||
HREF="http://linuxgazette.net/108/park.html"
|
||
TARGET="_top"
|
||
>article</A
|
||
>
|
||
in the November, 2004 issue of the <A
|
||
HREF="http://www.linuxgazette.net"
|
||
TARGET="_top"
|
||
><I
|
||
CLASS="CITETITLE"
|
||
>Linux Gazette</I
|
||
></A
|
||
>
|
||
on adding string functions to Bash, with a <A
|
||
HREF="http://linuxgazette.net/109/park.html"
|
||
TARGET="_top"
|
||
>followup
|
||
article</A
|
||
> in the December issue, and <A
|
||
HREF="http://linuxgazette.net/110/park.htm"
|
||
TARGET="_top"
|
||
>yet another</A
|
||
>
|
||
in the January, 2005 issue.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22012"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Peter Knowles has written an
|
||
<A
|
||
HREF="http://booklistgensh.peterknowles.com/"
|
||
TARGET="_top"
|
||
>elaborate
|
||
Bash script</A
|
||
> that generates a book list on the <A
|
||
HREF="http://www.dottocomu.com/b/archives/002571.html"
|
||
TARGET="_top"
|
||
>Sony
|
||
Librie</A
|
||
> e-book reader. This useful tool facilitates
|
||
loading non-DRM user content on the <EM
|
||
>Librie</EM
|
||
>
|
||
(and the newer <EM
|
||
>PRS-xxx-series</EM
|
||
> devices).</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22019"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Tim Waugh's <A
|
||
HREF="http://cyberelk.net/tim/xmlto/"
|
||
TARGET="_top"
|
||
>xmlto</A
|
||
> is an
|
||
elaborate Bash script for converting Docbook XML documents to
|
||
other formats.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22023"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Philip Patterson's <A
|
||
HREF="http://www.gossiplabs.org"
|
||
TARGET="_top"
|
||
>logforbash</A
|
||
>
|
||
logging/debugging script.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22027"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
HREF="http://auctiongallery.sourceforge.net"
|
||
TARGET="_top"
|
||
>AuctionGallery</A
|
||
>,
|
||
an application for eBay <SPAN
|
||
CLASS="QUOTE"
|
||
>"power sellers"</SPAN
|
||
> coded
|
||
in Bash.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22032"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Of historical interest are Colin Needham's
|
||
<I
|
||
CLASS="FIRSTTERM"
|
||
>original International Movie Database (IMDB)
|
||
reader polling scripts</I
|
||
>, which nicely illustrate
|
||
the use of <A
|
||
HREF="awk.html#AWKREF"
|
||
>awk</A
|
||
> for string
|
||
parsing. Unfortunately, the URL link is broken.</P
|
||
><P
|
||
>---</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22038"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Fritz Mehner has written a <A
|
||
HREF="http://vim.sourceforge.net/scripts/script.php?script_id=365"
|
||
TARGET="_top"
|
||
>bash-support
|
||
plugin</A
|
||
> for the <I
|
||
CLASS="FIRSTTERM"
|
||
>vim</I
|
||
> text editor.
|
||
He has also also come up with his own <A
|
||
HREF="http://lug.fh-swf.de/vim/vim-bash/StyleGuideShell.en.pdf"
|
||
TARGET="_top"
|
||
>stylesheet
|
||
for Bash</A
|
||
>. Compare it with the <A
|
||
HREF="unofficialst.html"
|
||
>ABS Guide
|
||
Unofficial Stylesheet</A
|
||
>.</P
|
||
><P
|
||
>---</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22046"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><EM
|
||
>Penguin Pete</EM
|
||
> has quite a number of
|
||
shell scripting tips and hints on <A
|
||
HREF="http://www.penguinpetes.com"
|
||
TARGET="_top"
|
||
>his superb
|
||
site</A
|
||
>. Highly recommended.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22051"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The excellent <I
|
||
CLASS="CITETITLE"
|
||
> Bash Reference
|
||
Manual</I
|
||
>, by Chet Ramey and Brian Fox, distributed as
|
||
part of the <I
|
||
CLASS="FIRSTTERM"
|
||
>bash-2-doc</I
|
||
> package (available
|
||
as an <A
|
||
HREF="filearchiv.html#RPMREF"
|
||
>rpm</A
|
||
>). See especially the
|
||
instructive example scripts in this package.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22057"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>John Lion's classic, <A
|
||
HREF="http://www.lemis.com/grog/Documentation/Lions/index.html"
|
||
TARGET="_top"
|
||
> <EM
|
||
>A Commentary on the Sixth Edition UNIX Operating
|
||
System</EM
|
||
></A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22062"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The <A
|
||
HREF="news:comp.unix.shell"
|
||
TARGET="_top"
|
||
>comp.os.unix.shell</A
|
||
>
|
||
newsgroup.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22066"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
><A
|
||
NAME="DDLINK"
|
||
></A
|
||
></P
|
||
><P
|
||
>The <A
|
||
HREF="http://www.linuxquestions.org/questions/showthread.php?t=362506"
|
||
TARGET="_top"
|
||
><I
|
||
CLASS="FIRSTTERM"
|
||
>dd</I
|
||
>
|
||
thread</A
|
||
> on <A
|
||
HREF="http://www.linuxquestions.org"
|
||
TARGET="_top"
|
||
>Linux Questions</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22074"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The
|
||
<A
|
||
HREF="http://www.newsville.com/cgi-bin/getfaq?file=comp.unix.shell/comp.unix.shell_FAQ_-_Answers_to_Frequently_Asked_Questions"
|
||
TARGET="_top"
|
||
>comp.os.unix.shell
|
||
FAQ</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22078"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>Assorted comp.os.unix <A
|
||
HREF="http://www.faqs.org/faqs/by-newsgroup/comp/comp.unix.shell.html"
|
||
TARGET="_top"
|
||
> FAQs</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22082"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The <A
|
||
HREF="http://en.wikipedia.org/wiki/Dc_(Unix)"
|
||
TARGET="_top"
|
||
><I
|
||
CLASS="FIRSTTERM"
|
||
>Wikipedia</I
|
||
>
|
||
article</A
|
||
> covering <A
|
||
HREF="mathc.html#DCREF"
|
||
>dc</A
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><DIV
|
||
CLASS="BIBLIOENTRY"
|
||
><A
|
||
NAME="AEN22088"
|
||
></A
|
||
><P
|
||
></P
|
||
><DIV
|
||
CLASS="BIBLIOENTRYBLOCK"
|
||
STYLE="margin-left: 0.5in"
|
||
><DIV
|
||
CLASS="ABSTRACT"
|
||
><P
|
||
>The <A
|
||
HREF="basic.html#MANREF"
|
||
>manpages</A
|
||
> for
|
||
<B
|
||
CLASS="COMMAND"
|
||
>bash</B
|
||
> and <B
|
||
CLASS="COMMAND"
|
||
>bash2</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>date</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>expect</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>expr</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>find</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>grep</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>gzip</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>ln</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>patch</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>tar</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>tr</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>bc</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>xargs</B
|
||
>.
|
||
The <I
|
||
CLASS="FIRSTTERM"
|
||
>texinfo</I
|
||
> documentation on
|
||
<B
|
||
CLASS="COMMAND"
|
||
>bash</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>dd</B
|
||
>,
|
||
<B
|
||
CLASS="COMMAND"
|
||
>m4</B
|
||
>, <B
|
||
CLASS="COMMAND"
|
||
>gawk</B
|
||
>, and
|
||
<B
|
||
CLASS="COMMAND"
|
||
>sed</B
|
||
>.</P
|
||
></DIV
|
||
></DIV
|
||
></DIV
|
||
><H3
|
||
CLASS="FOOTNOTES"
|
||
>Notes</H3
|
||
><TABLE
|
||
BORDER="0"
|
||
CLASS="FOOTNOTES"
|
||
WIDTH="100%"
|
||
><TR
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
WIDTH="5%"
|
||
><A
|
||
NAME="FTN.AEN21579"
|
||
HREF="biblio.html#AEN21579"
|
||
><SPAN
|
||
CLASS="footnote"
|
||
>[1]</SPAN
|
||
></A
|
||
></TD
|
||
><TD
|
||
ALIGN="LEFT"
|
||
VALIGN="TOP"
|
||
WIDTH="95%"
|
||
><P
|
||
>It was hard to resist the obvious pun. No slight
|
||
intended, since the book is a pretty decent introduction to
|
||
the basic concepts of shell scripting.</P
|
||
></TD
|
||
></TR
|
||
></TABLE
|
||
><DIV
|
||
CLASS="NAVFOOTER"
|
||
><HR
|
||
ALIGN="LEFT"
|
||
WIDTH="100%"><TABLE
|
||
SUMMARY="Footer navigation table"
|
||
WIDTH="100%"
|
||
BORDER="0"
|
||
CELLPADDING="0"
|
||
CELLSPACING="0"
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="disclaimer.html"
|
||
ACCESSKEY="P"
|
||
>Prev</A
|
||
></TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="index.html"
|
||
ACCESSKEY="H"
|
||
>Home</A
|
||
></TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
><A
|
||
HREF="contributed-scripts.html"
|
||
ACCESSKEY="N"
|
||
>Next</A
|
||
></TD
|
||
></TR
|
||
><TR
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="left"
|
||
VALIGN="top"
|
||
>Disclaimer</TD
|
||
><TD
|
||
WIDTH="34%"
|
||
ALIGN="center"
|
||
VALIGN="top"
|
||
> </TD
|
||
><TD
|
||
WIDTH="33%"
|
||
ALIGN="right"
|
||
VALIGN="top"
|
||
>Contributed Scripts</TD
|
||
></TR
|
||
></TABLE
|
||
></DIV
|
||
></BODY
|
||
></HTML
|
||
> |