Learning the bash shell - unix shell programming

823 2.1K 0
Learning the bash shell -  unix shell programming

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Đây là bộ sách tiếng anh cho dân công nghệ thông tin chuyên về bảo mật,lập trình.Thích hợp cho những ai đam mê về công nghệ thông tin,tìm hiểu về bảo mật và lập trình.

1 Learning the bash Shell, 3rd Edition Table of Contents 2 Preface bash Versions Summary of bash Features Intended Audience Code Examples Chapter Summary Conventions Used in This Handbook We'd Like to Hear from You Using Code Examples Safari Enabled Acknowledgments for the First Edition Acknowledgments for the Second Edition Acknowledgments for the Third Edition 1. bash Basics 3 1.1. What Is a Shell? 1.2. Scope of This Book 1.3. History of UNIX Shells 1.3.1. The Bourne Again Shell 1.3.2. Features of bash 1.4. Getting bash 1.5. Interactive Shell Use 1.5.1. Commands, Arguments, and Options 1.6. Files 1.6.1. Directories 1.6.2. Filenames, Wildcards, and Pathname Expansion 1.6.3. Brace Expansion 1.7. Input and Output 1.7.1. Standard I/O 1.7.2. I/O Redirection 1.7.3. Pipelines 1.8. Background Jobs 1.8.1. Background I/O 1.8.2. Background Jobs and Priorities 1.9. Special Characters and Quoting 1.9.1. Quoting 1.9.2. Backslash-Escaping 1.9.3. Quoting Quotation Marks 1.9.4. Continuing Lines 1.9.5. Control Keys 4 1.10. Help 2. Command-Line Editing 2.1. Enabling Command-Line Editing 2.2. The History List 2.3. emacs Editing Mode 2.3.1. Basic Commands 2.3.2. Word Commands 2.3.3. Line Commands 2.3.4. Moving Around in the History List 2.3.5. Textual Completion 2.3.6. Miscellaneous Commands 2.4. vi Editing Mode 2.4.1. Simple Control Mode Commands 2.4.2. Entering and Changing Text 2.4.3. Deletion Commands 2.4.4. Moving Around in the History List 2.4.5. Character-Finding Commands 2.4.6. Textual Completion 2.4.7. Miscellaneous Commands 2.5. The fc Command 2.6. History Expansion 2.7. readline 2.7.1. The readline Startup File 2.7.2. Key Bindings Using bind 2.8. Keyboard Habits 3. Customizing Your Environment 5 3.1. The .bash_profile, .bash_logout, and .bashrc Files 3.2. Aliases 3.3. Options 3.3.1. shopt 3.4. Shell Variables 3.4.1. Variables and Quoting 3.4.2. Built-In Variables 3.5. Customization and Subprocesses 3.5.1. Environment Variables 3.5.2. The Environment File 3.6. Customization Hints 4. Basic Shell Programming 6 4.1. Shell Scripts and Functions 4.1.1. Functions 4.2. Shell Variables 4.2.1. Positional Parameters 4.2.2. Local Variables in Functions 4.2.3. Quoting with $@ and $* 4.2.4. More on Variable Syntax 4.3. String Operators 4.3.1. Syntax of String Operators 4.3.2. Patterns and Pattern Matching 4.3.3. Length Operator 4.3.4. Extended Pattern Matching 4.4. Command Substitution 4.5. Advanced Examples: pushd and popd 5. Flow Control 5.1. if/else 5.1.1. Exit Status 5.1.2. Return 5.1.3. Combinations of Exit Statuses 5.1.4. Condition Tests 5.1.5. Integer Conditionals 5.2. for 5.3. case 5.4. select 5.5. while and until 6. Command-Line Options and Typed Variables 7 6.1. Command-Line Options 6.1.1. shift 6.1.2. Options with Arguments 6.1.3. getopts 6.2. Typed Variables 6.3. Integer Variables and Arithmetic 6.3.1. Arithmetic Conditionals 6.3.2. Arithmetic Variables and Assignment 6.3.3. Arithmetic for Loops 6.4. Arrays 7. Input/Output and Command-Line Processing 7.1. I/O Redirectors 7.1.1. Here-documents 7.1.2. File Descriptors 7.2. String I/O 7.2.1. echo 7.2.2. printf 7.2.3. read 7.3. Command-Line Processing 7.3.1. Quoting 7.3.2. command, builtin, and enable 7.3.3. eval 8. Process Handling 8 8.1. Process IDs and Job Numbers 8.2. Job Control 8.2.1. Foreground and Background 8.2.2. Suspending a Job 8.3. Signals 8.3.1. Control-Key Signals 8.3.2. kill 8.3.3. ps 8.4. trap 8.4.1. Traps and Functions 8.4.2. Process ID Variables and Temporary Files 8.4.3. Ignoring Signals 8.4.4. disown 8.4.5. Resetting Traps 8.5. Coroutines 8.5.1. wait 8.5.2. Advantages and Disadvantages of Coroutines 8.5.3. Parallelization 8.6. Subshells 8.6.1. Subshell Inheritance 8.6.2. Nested Subshells 8.7. Process Substitution 9. Debugging Shell Programs 9 9.1. Basic Debugging Aids 9.1.1. Set Options 9.1.2. Fake Signals 9.1.3. Debugging Variables 9.2. A bash Debugger 9.2.1. Structure of the Debugger 9.2.2. The Preamble 9.2.3. Debugger Functions 9.2.4. A Sample bashdb Session 9.2.5. Exercises 10. bash Administration 10.1. Installing bash as the Standard Shell 10.1.1. POSIX Mode 10.1.2. Command-Line Options 10.2. Environment Customization 10.2.1. umask 10.2.2. ulimit 10.2.3. Types of Global Customization 10.3. System Security Features 10.3.1. Restricted Shell 10.3.2. A System Break-In Scenario 10.3.3. Privileged Mode 11. Shell Scripting 10 [...]... Built-Ins D Programmable Completion 12 Learning the bash Shell, 3rd Edition Cameron Newham Copyright © 2009 O'Reilly Media, Inc O'Reilly Media, Inc 13 Preface The first thing users of the UNIX or Linux operating systems come face to face with is the shell "Shell" is the UNIX term for a user interface to the system—something that lets you communicate with the computer via the keyboard and the display Shells... reason not to change to the latest and greatest in shell technology Of the many shells to choose from, this book introduces the Bourne Again shell (bash for short), a modern general-purpose shell Other useful modern shells are the Korn shell (ksh) and the "Tenex C shell" (tcsh); both are also the subjects of O'Reilly handbooks 14 bash Versions This book is relevant to all versions of bash, although older... only the top layer, known as the shell Generically speaking, a shell is any user interface to the UNIX operating system, i.e., any program that takes input from the user, translates it into instructions that the operating system can understand, and conveys the operating system's output back to the user 34 Figure 1-1 shows the relationship between user, shell, and operating system Figure 1-1 The shell. .. present in the earlier versions 15 Summary Features of bash bash is a backward-compatible evolutionary successor to the Bourne shell that includes most of the C shell' s major advantages as well as features from the Korn shell and a few new features of its own Features appropriated from the C shell include: • Directory manipulation, with the pushd, popd, and dirs commands • Job control, including the fg... the above 20 Chapter Summary If you want to investigate specific topics rather than read the entire book through, here is a chapter-by-chapter summary: Chapter 1 introduces bash and tells you how to install it as your login shell Then it surveys the basics of interactive shell use, including overviews of the UNIX file and directory scheme, standard I/O, and background jobs Chapter 2 discusses the shell' s... command-line option processing, then discusses special types and properties of variables, integer arithmetic, and arrays Chapter 7 gives a detailed description of bash I/O This chapter covers all of the shell' s I/O redirectors, as well as the line-at-a-time I/O commands read and echo It also discusses the shell' s command-line processing mechanism and the eval command Chapter 8 covers process-related... shell standard, the Korn shell (ksh), the public-domain Korn shell (pdksh), and the Z Shell (zsh) Appendix B contains lists of shell invocation options, built-in commands, built-in variables, conditional test operators, options, I/O redirection, and emacs- and vi-editing mode commands Appendix C gives information on writing and compiling your own loadable built-ins Appendix D looks at the basics of programmable... Use bash 12 bash for Your System 12.1 Obtaining bash 12.2 Unpacking the Archive 12.3 What's in the Archive 12.3.1 Documentation 12.3.2 Configuring and Building bash 12.3.3 Testing bash 12.3.4 Potential Problems 12.3.5 Installing bash as a Login Shell 12.3.6 Examples 12.4 Who Do I Turn to? 12.4.1 Asking Questions 12.4.2 Reporting Bugs A Related Shells 11 A.1 The Bourne Shell A.2 The IEEE 1003.2 POSIX Shell. .. is a layer around the UNIX operating system There are various types of user interfaces bash belongs to the most common category, known as character-based user interfaces These interfaces accept lines of textual commands that the user types in; they usually produce text-based output Other types of interfaces include the increasingly common graphical user interfaces (GUI), which add the ability to display... implementing system-wide shell customization and features related to system security 22 Chapter 11 discusses ways to make bash scripts more maintainable Chapter 12 shows you how to go about getting bash and how to install it on your system It also outlines what to do in the event of problems along the way Appendix A compares bash to several similar shells, including the standard Bourne shell, the POSIX shell standard, . introduces the Bourne Again shell (bash for short), a modern general-purpose shell. Other useful modern shells are the Korn shell (ksh) and the "Tenex C shell& quot;. Related Shells 11 A.1. The Bourne Shell A.2. The IEEE 1003.2 POSIX Shell Standard A.3. The Korn Shell A.4. pdksh A.5. zsh A.6. Shell Clones and Unix- like

Ngày đăng: 19/03/2014, 13:38

Từ khóa liên quan

Mục lục

  • Learning the bash Shell, 3rd Edition

  • Summary of bash Features

  • Intended Audience

  • Code Examples

  • Chapter Summary

  • Conventions Used in This Handbook

  • We&d Like to Hear from You

  • Using Code Examples

  • Safari Enabled

  • Acknowledgments for the First Edition

  • Acknowledgments for the Second Edition

  • Acknowledgments for the Third Edition

  • 1. bash Basics

  • 1.2. Scope of This Book

  • 1.3. History of UNIX Shells

  • 1.3.2. Features of bash

  • 1.4. Getting bash

  • 1.5. Interactive Shell Use

  • 1.6. Files

  • 1.6.1.2. Tilde notation

Tài liệu cùng người dùng

Tài liệu liên quan