Book Image

Linux Command Line and Shell Scripting Bible - Third Edition

By : Richard Blum, Christine Bresnahan
Book Image

Linux Command Line and Shell Scripting Bible - Third Edition

By: Richard Blum, Christine Bresnahan

Overview of this book

The Linux command line enables you to type specific shell commands directly into the system to manipulate files and query system resources. Command line statements can be combined into short programs called shell scripts, a practice increasing in popularity due to its usefulness in automation. Linux is a robust system with tremendous potential, and Linux Command Line and Shell Scripting Bible opens the door to new possibilities. Linux Command Line and Shell Scripting Bible is your essential Linux guide. It contains new functional examples that are fully updated to align with the latest Linux features. Beginning with command line fundamentals, the book moves into shell scripting and shows you the practical application of commands in automating frequently performed functions. This book is a complete guide providing detailed instruction and expert advice working within this aspect of Linux. Whether used as a tutorial or as a quick reference, this book contains information that every Linux user should know.
Table of Contents (34 chapters)
2
Part I: The Linux Command Line
13
Part II: Shell Scripting Basics
20
Part III: Advanced Shell Scripting
28
Part IV: Creating Practical Scripts
32
End User License Agreement

Processing the Output of a Loop

Finally, you can either pipe or redirect the output of a loop within your shell script. You do this by adding the processing command to the end of the done command:

 for file in /home/rich/*
  do
    if [ -d "$file" ]
    then
       echo "$file is a directory"
    elif
       echo "$file is a file"
    fi
 done > output.txt

Instead of displaying the results on the monitor, the shell redirects the results of the for command to the file output.txt.

Consider the following example of redirecting the output of a for command to a file:

 $ cat test23
 #!/bin/bash
 # redirecting the for output to a file
 for (( a = 1; a < 10; a++ ))
 do
    echo "The number is $a"
 done > test23.txt
 echo "The command is finished."
 $ ./test23
 The command is finished.
 $ cat test23.txt
 The number is 1
 The number is 2
 The number is 3
 The number is 4
 The number is 5
 The number is 6
 The number is 7
 The number is...