Classic Shell Scripting (Paperback)

Arnold Robbins, Nelson H.F. Beebe

買這商品的人也買了...

商品描述

Description:

Shell scripting skills never go out of style. It's the shell that unlocks the real potential of Unix. Shell scripting is essential for Unix users and system administrators-a way to quickly harness and customize the full power of any Unix system. With shell scripts, you can combine the fundamental Unix text and file processing commands to crunch data and automate repetitive tasks. But beneath this simple promise lies a treacherous ocean of variations in Unix commands and standards. Classic Shell Scripting is written to help you reliably navigate these tricky waters.

Writing shell scripts requires more than just a knowledge of the shell language, it also requires familiarity with the individual Unix programs: why each one is there, how to use them by themselves, and in combination with the other programs. The authors are intimately familiar with the tips and tricks that can be used to create excellent scripts, as well as the traps that can make your best effort a bad shell script. With Classic Shell Scripting you'll avoid hours of wasted effort. You'll learn not only write useful shell scripts, but how to do it properly and portably.

The ability to program and customize the shell quickly, reliably, and portably to get the best out of any individual system is an important skill for anyone operating and maintaining Unix or Linux systems. Classic Shell Scripting gives you everything you need to master these essential skills.

 

Table of Contents:

Foreword

Preface

1. Background

      1.1 Unix History

      1.2 Software Tools Principles

      1.3 Summary

2. Getting Started

      2.1 Scripting Languages Versus Compiled Languages

      2.2 Why Use a Shell Script?

      2.3 A Simple Script

      2.4 Self-Contained Scripts: The #! First Line

      2.5 Basic Shell Constructs

      2.6 Accessing Shell Script Arguments

      2.7 Simple Execution Tracing

      2.8 Internationalization and Localization

      2.9 Summary

3. Searching and Substitutions

      3.1 Searching for Text

      3.2 Regular Expressions

      3.3 Working with Fields

      3.4 Summary

4. Text Processing Tools

      4.1 Sorting Text

      4.2 Removing Duplicates

      4.3 Reformatting Paragraphs

      4.4 Counting Lines, Words, and Characters

      4.5 Printing

      4.6 Extracting the First and Last Lines

      4.7 Summary

5. Pipelines Can Do Amazing Things

      5.1 Extracting Data from Structured Text Files

      5.2 Structured Data for the Web

      5.3 Cheating at Word Puzzles

      5.4 Word Lists

      5.5 Tag Lists

      5.6 Summary

6. Variables, Making Decisions, and Repeating Actions

      6.1 Variables and Arithmetic

      6.2 Exit Statuses

      6.3 The case Statement

      6.4 Looping

      6.5 Functions

      6.6 Summary

7. Input and Output, Files, and Command Evaluation

      7.1 Standard Input, Output, and Error

      7.2 Reading Lines with read

      7.3 More About Redirections

      7.4 The Full Story on printf

      7.5 Tilde Expansion and Wildcards

      7.6 Command Substitution

      7.7 Quoting

      7.8 Evaluation Order and eval

      7.9 Built-in Commands

      7.10 Summary

8. Production Scripts

      8.1 Path Searching

      8.2 Automating Software Builds

      8.3 Summary

9. Enough awk to Be Dangerous

      9.1 The awk Command Line

      9.2 The awk Programming Model

      9.3 Program Elements

      9.4 Records and Fields

      9.5 Patterns and Actions

      9.6 One-Line Programs in awk

      9.7 Statements

      9.8 User-Defined Functions

      9.9 String Functions

      9.10 Numeric Functions

      9.11 Summary

10. Working with Files

      10.1 Listing Files

      10.2 Updating Modification Times with touch

      10.3 Creating and Using Temporary Files

      10.4 Finding Files

      10.5 Running Commands: xargs

      10.6 Filesystem Space Information

      10.7 Comparing Files

      10.8 Summary

11. Extended Example: Merging User Databases

      11.1 The Problem

      11.2 The Password Files

      11.3 Merging Password Files

      11.4 Changing File Ownership

      11.5 Other Real-World Issues

      11.6 Summary

12. Spellchecking

      12.1 The spell Program

      12.2 The Original Unix Spellchecking Prototype

      12.3 Improving ispell and aspell

      12.4 A Spellchecker in awk

      12.5 Summary

13. Processes

      13.1 Process Creation

      13.2 Process Listing

      13.3 Process Control and Deletion

      13.4 Process System-Call Tracing

      13.5 Process Accounting

      13.6 Delayed Scheduling of Processes

      13.7 The /proc Filesystem

      13.8 Summary

14. Shell Portability Issues and Extensions

      14.1 Gotchas

      14.2 The bash shopt Command

      14.3 Common Extensions

      14.4 Download Information

      14.5 Other Extended Bourne-Style Shells

      14.6 Shell Versions

      14.7 Shell Initialization and Termination

      14.8 Summary

15. Secure Shell Scripts: Getting Started

      15.1 Tips for Secure Shell Scripts

      15.2 Restricted Shell

      15.3 Trojan Horses

      15.4 Setuid Shell Scripts: A Bad Idea

      15.5 ksh93 and Privileged Mode

      15.6 Summary

A. Writing Manual Pages

B. Files and Filesystems

C. Important Unix Commands

Bibliography

Glossary

Index

商品描述(中文翻譯)

描述:
Shell腳本技能永遠不會過時。它是解鎖Unix真正潛力的關鍵。對於Unix用戶和系統管理員來說,Shell腳本是必不可少的,它可以快速利用和自定義任何Unix系統的全部功能。通過Shell腳本,您可以結合基本的Unix文本和文件處理命令來處理數據並自動化重複的任務。但在這個簡單的承諾下,Unix命令和標準的變化千變萬化。《經典Shell腳本》的目的是幫助您可靠地遊覽這些棘手的水域。

撰寫Shell腳本不僅需要對Shell語言的了解,還需要熟悉各個Unix程序:為什麼每個程序都在那裡,如何單獨使用它們以及與其他程序結合使用。作者們對於創建優秀腳本可以使用的技巧和訣竅非常熟悉,也知道可能使您的最佳努力成為糟糕腳本的陷阱。通過《經典Shell腳本》,您將避免浪費時間。您不僅將學會撰寫有用的Shell腳本,還將學會如何正確且可移植地進行。

快速、可靠且可移植地編程和自定義Shell以充分發揮任何個別系統的潛力,對於任何操作和維護Unix或Linux系統的人來說,這是一項重要的技能。《經典Shell腳本》為您提供了掌握這些基本技能所需的一切。

目錄:
前言
前言
1. 背景
1.1 Unix歷史
1.2 軟件工具原則
1.3 摘要
2. 入門
2.1 腳本語言與編譯語言
2.2 為什麼使用Shell腳本?
2.3 簡單腳本
2.4 自包含腳本:#! 第一行
2.5 基本Shell結構
2.6 訪問Shell腳本參數
2.7 簡單執行追蹤
2.8 國際化和本地化
2.9 摘要
3. 搜索和替換
3.1 搜索文本
3.2 正則表達式
3.3 處理字段
3.4 摘要
4. 文本處理工具
4.1 文本排序
4.2 刪除重複項
4.3 重新格式化段落
4.4 計算行數、單詞數和字符數
4.5 打印
4.6 提取第一行和最後一行
4.7 摘要
5. 管道可以做出驚人的事情
5.1 從結構化文本文件中提取數據
5.2 網絡結構化數據
5.3 在單詞拼圖中作弊