American English

Shell Programming in Unix, Linux and OS X ,4th edition::9780134496689

Published by Addison-Wesley Professional (August 30, 2016) © 2017

Stephen Kochan | Patrick Wood
    VitalSource eTextbook (Lifetime access)
    €27,99
    Adding to cart… The item has been added
    ISBN-13: 9780134496689

    Shell Programming in Unix, Linux and OS X ,4th edition

    Language: American English

    Shell Programming in Unix, Linux and OS X is a thoroughly updated revision of Kochan and Wood’s classic Unix Shell Programming tutorial. Following the methodology of the original text, the book focuses on the POSIX standard shell, and teaches you how to develop programs in this useful programming environment, taking full advantage of the underlying power of Unix and Unix-like operating systems.


    After a quick review of Unix utilities, the book’s authors take you step-by-step through the process of building shell scripts, debugging them, and understanding how they work within the shell’s environment. All major features of the shell are covered, and the large number of practical examples make it easy for you to build shell scripts for your particular applications. The book also describes the major features of the Korn and Bash shells.

     

    Learn how to…

    • Take advantage of the many utilities provided in the Unix system
    • Write powerful shell scripts
    • Use the shell’s built-in decision-making and looping constructs
    • Use the shell’s powerful quoting mechanisms
    • Make the most of the shell’s built-in history and command editing capabilities
    • Use regular expressions with Unix commands
    • Take advantage of the special features of the Korn and Bash shells
    • Identify the major differences between versions of the shell language
    • Customize the way your Unix system responds to you
    • Set up your shell environment
    • Make use of functions
    • Debug scripts

    Contents at a Glance


    1  A Quick Review of the Basics

    2  What Is the Shell?

    3  Tools of the Trade

    4  And Away We Go

    5  Can I Quote You on That?

    6  Passing Arguments

    7  Decisions, Decisions

    8  ‘Round and ‘Round She Goes

    9  Reading and Printing Data

    10 Your Environment

    11 More on Parameters

    12 Loose Ends

    13 Rolo Revisited

    14 Interactive and Nonstandard Shell Features


    A Shell Summary

    B For More Information


    1 A Quick Review of the Basics

        Some Basic Commands

            Displaying the Date and Time: The date Command

            Finding Out Who’s Logged In: The who Command

            Echoing Characters: The echo Command

        Working with Files

            Listing Files: The ls Command

            Displaying the Contents of a File: The cat Command

            Counting the Number of Words in a File: The wc Command

            Command Options

            Making a Copy of a File: The cp Command

            Renaming a File: The mv Command

            Removing a File: The rm Command

        Working with Directories

            The Home Directory and Pathnames

            Displaying Your Working Directory: The pwd Command

            Changing Directories: The cd Command

            More on the ls Command

            Creating a Directory: The mkdir Command

            Copying a File from One Directory to Another

            Moving Files Between Directories

            Linking Files: The ln Command

            Removing a Directory: The rmdir Command

        Filename Substitution

            The Asterisk

            Matching Single Characters

        Filename Nuances

            Spaces in Filenames

            Other Weird Characters

        Standard Input/Output, and I/O Redirection

            Standard Input and Standard Output

            Output Redirection

            Input Redirection

        Pipes

            Filters

        Standard Error

        More on Commands

            Typing More Than One Command on a Line

            Sending a Command to the Background

            The ps Command

        Command Summary


    2 What Is the Shell?

        The Kernel and the Utilities

        The Login Shell

        Typing Commands to the Shell

        The Shell’s Responsibilities

            Program Execution

            Variable and Filename Substitution

            I/O Redirection

            Hooking up a Pipeline

            Environment Control

            Interpreted Programming Language


    3 Tools of the Trade

        Regular Expressions

            Matching Any Character: The Period (.)

            Matching the Beginning of the Line: The Caret (^)

            Matching the End of the Line: The Dollar Sign $

            Matching a Character Set: The [...] Construct

            Matching Zero or More Characters: The Asterisk (*)

            Matching a Precise Number of Subpatterns: \{...\}

            Saving Matched Characters: \(...\)

        cut

            The -d and -f Options

        paste

            The -d Option

            The -s Option

        sed

            The -n Option

            Deleting Lines

        tr

            The -s Option

            The -d Option

        grep

            Regular Expressions and grep

            The -v Option

            The -l Option

            The -n Option

        sort

            The -u Option

            The -r Option

            The -o Option

            The -n Option

            Skipping Fields

            The -t Option

            Other Options

        uniq

            The -d Option

            Other Options


    4 And Away We Go

        Command Files

            Comments

        Variables

            Displaying the Values of Variables

            Undefined Variables Have the Null Value

            Filename Substitution and Variables

            The ${variable} Construct

        Built-in Integer Arithmetic


    5 Can I Quote You on That?

        The Single Quote

        The Double Quote

        The Backslash

            Using the Backslash for Continuing Lines

            The Backslash Inside Double Quotes

        Command Substitution

            The Back Quote

            The $(...) Construct

            The expr Command


    6 Passing Arguments

        The $# Variable

        The $* Variable

        A Program to Look Up Someone in the Phone Book

        A Program to Add Someone to the Phone Book

        A Program to Remove Someone from the Phone Book

            ${n}

        The shift Command


    7 Decisions, Decisions

        Exit Status

            The $? Variable

        The test Command

            String Operators

            An Alternative Format for test

            Integer Operators

            File Operators

            The Logical Negation Operator !

            The Logical AND Operator -a

            Parentheses

            The Logical OR Operator -o

        The else Construct

        The exit Command

            A Second Look at the rem Program

        The elif Construct

            Yet Another Version of rem

        The case Command

            Special Pattern-Matching Characters

            The -x Option for Debugging Programs

            Back to the case

        The Null Command :

        The && and || Constructs


    8 'Round and 'Round She Goes

        The for Command

            The $@ Variable

            The for Without the List

        The while Command

        The until Command

        More on Loops

            Breaking Out of a Loop

            Skipping the Remaining Commands in a Loop

            Executing a Loop in the Background

            I/O Redirection on a Loop

            Piping Data into and out of a Loop

            Typing a Loop on One Line

        The getopts Command


    9 Reading and Printing Data

        The read Command

            A Program to Copy Files

            Special echo Escape Characters

            An Improved Version of mycp

            A Final Version of mycp

            A Menu-Driven Phone Program

            The $$ Variable and Temporary Files

            The Exit Status from read

        The printf Command


    10 Your Environment

        Local Variables

            Subshells

        Exported Variables

            export -p

        PS1 and PS2

        HOME

        PATH

        Your Current Directory

            CDPATH

        More on Subshells

            The .Command

            The exec Command

            The (...) and { ...; } Constructs

            Another Way to Pass Variables to a Subshell

        Your .profile File

        The TERM Variable

        The TZ Variable


    11 More on Parameters

        Parameter Substitution

            ${parameter}

            ${parameter:-value}

            ${parameter:=value}

            ${parameter:?value}

            ${parameter:+value}

            Pattern Matching Constructs

            ${#variable}

        The $0 Variable

        The set Command

            The -x Option

            set with No Arguments

            Using set to Reassign Positional Parameters

            The -- Option

            Other Options to set

        The IFS Variable

            The readonly Command

            The unset Command


    12 Loose Ends

        The eval Command

        The wait Command

            The $! Variable

        The trap Command

            trap with No Arguments

            Ignoring Signals

            Resetting Traps

        More on I/O

            <&- and >&-

            In-line Input Redirection

            Shell Archives

        Functions

            Removing a Function Definition

            The return Command

        The type Command


    13 Rolo Revisited

        Data Formatting Considerations

        rolo

        add

        lu

        display

        rem

        change

        listall

        Sample Output


    14 Interactive and Nonstandard Shell Features

        Getting the Right Shell

        The ENV File

        Command-Line Editing

        Command History

        The vi Line Edit Mode

            Accessing Commands from Your History

        The emacs Line Edit Mode

            Accessing Commands from Your History

        Other Ways to Access Your History

            The history Command

            The fc Command

            The r Command

        Functions

            Local Variables

            Automatically Loaded Functions

        Integer Arithmetic

            Integer Types

            Numbers in Different Bases

        The alias Command

            Removing Aliases

        Arrays

        Job Control

            Stopped Jobs and the fg and bg Commands

        Miscellaneous Features

            Other Features of the cd Command

            Tilde Substitution

            Order of Search

        Compatibility Summary


    Appendixes    

    A Shell Summary

    B For More Information