Shell Programming in Unix, Linux and OS X, Fourth Edition
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
Book description
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.
1 A Quick Review of the Basics
5 Can I Quote You on That?
8 ‘Round and ‘Round She Goes
9 Reading and Printing Data
14 Interactive and Nonstandard Shell Features
Table of contents
- About This E-Book
- Title Page
- Copyright Page
- Developer’s Library
- Contents at a Glance
- Table of Contents
- About the Authors
- We Want to Hear from You!
- Reader Services
- Introduction
- How This Book Is Organized
- Accessing the Free Web Edition
- 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
- 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
- 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
- The Asterisk
- Matching Single Characters
- Spaces in Filenames
- Other Weird Characters
- Standard Input and Standard Output
- Output Redirection
- Input Redirection
- Filters
- Typing More Than One Command on a Line
- Sending a Command to the Background
- The ps Command
- 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
- 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: \(. \)
- The -d and -f Options
- The -d Option
- The -s Option
- The -n Option
- Deleting Lines
- The -s Option
- The –d Option
- Regular Expressions and grep
- The -v Option
- The -l Option
- The -n Option
- The -u Option
- The -r Option
- The -o Option
- The -n Option
- Skipping Fields
- The -t Option
- Other Options
- The -d Option
- Other Options
- Command Files
- Comments
- Displaying the Values of Variables
- Undefined Variables Have the Null Value
- Filename Substitution and Variables
- The $ Construct
- The Single Quote
- The Double Quote
- The Backslash
- Using the Backslash for Continuing Lines
- The Backslash Inside Double Quotes
- The Back Quote
- The $(. ) Construct
- The expr Command
- 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
- $
- Exit Status
- The $? Variable
- 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
- A Second Look at the rem Program
- Yet Another Version of rem
- Special Pattern-Matching Characters
- The -x Option for Debugging Programs
- Back to the case
- The for Command
- The $@ Variable
- The for Without the List
- 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 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
- Local Variables
- Subshells
- export -p
- CDPATH
- The .Command
- The exec Command
- The (. ) and < . ; >Constructs
- Another Way to Pass Variables to a Subshell
- Parameter Substitution
- $
- $
- $
- $
- $
- Pattern Matching Constructs
- $
- The -x Option
- set with No Arguments
- Using set to Reassign Positional Parameters
- The — Option
- Other Options to set
- The eval Command
- The wait Command
- The $! Variable
- trap with No Arguments
- Ignoring Signals
- Resetting Traps
- &-
- In-line Input Redirection
- Shell Archives
- Removing a Function Definition
- The return Command
- Data Formatting Considerations
- rolo
- add
- lu
- display
- rem
- change
- listall
- Sample Output
- Getting the Right Shell
- The ENV File
- Command-Line Editing
- Command History
- The vi Line Edit Mode
- Accessing Commands from Your History
- Accessing Commands from Your History
- The history Command
- The fc Command
- The r Command
- Local Variables
- Automatically Loaded Functions
- Integer Types
- Numbers in Different Bases
- Removing Aliases
- Stopped Jobs and the fg and bg Commands
- Other Features of the cd Command
- Tilde Substitution
- Order of Search
- Startup
- Commands
- Comments
- Parameters and Variables
- Shell Variables
- Positional Parameters
- Special Parameters
- Parameter Substitution
- The fc Command
- vi Line Edit Mode
- Tilde Substitution
- Arithmetic Expressions
- The (. ) Construct
- The < . ; >Construct
- More on Shell Variables
- Shell Jobs
- Stopping Jobs
- The : Command
- The . Command
- The alias Command
- The bg Command
- The break Command
- The case Command
- The cd Command
- The continue Command
- The echo Command
- The eval Command
- The exec Command
- The exit Command
- The export Command
- The false Command
- The fc Command
- The fg Command
- The for Command
- The getopts Command
- The hash Command
- The if Command
- The jobs Command
- The kill Command
- The newgrp Command
- The pwd Command
- The read Command
- The readonly Command
- The return Command
- The set Command
- The shift Command
- The test Command
- The times Command
- The trap Command
- The true Command
- The type Command
- The umask Command
- The unalias Command
- The unset Command
- The until Command
- The wait Command
- The while Command
- Online Documentation
- Documentation on the Web
- Books
- O’Reilly & Associates
- Pearson
Product information
- Title: Shell Programming in Unix, Linux and OS X, Fourth Edition
- Author(s): Stephen G. Kochan, Patrick Wood
- Release date: August 2016
- Publisher(s): Addison-Wesley Professional
- ISBN: 9780134496696
You might also like
Check it out now on O’Reilly
Dive in for free with a 10-day trial of the O’Reilly learning platform—then explore all the other resources our members count on to build skills and solve problems every day.
Программирование командных оболочек в Unix, Linux и OS X
Это полностью обновленное издание классического пособия по программированию командных оболочек в системах Unix. Следуя методике изложения материала, принятой в первоначальном издании, авторы книги уделили основное внимание стандартной оболочке POSIX, поясняя особенности разработки полезных программ в этой удобной среде, чтобы извлечь максимальную пользу из потенциала, заложенного в основу Unix и подобных ей операционных систем.
После краткого обзора команд Unix в книге подробно рассматривается поэтапный процесс создания программ или сценариев оболочки, их отладки и особенностей их работы в среде оболочки. Все основные средства оболочки поясняются на многих практических примерах, что упрощает написание сценариев оболочки для конкретного применения. В книге описываются также основные средства оболочек Korn и Bash.
Книга позволяет научиться.
- Выгодно пользоваться многими утилитами, предоставляемыми системой Unix.
- Писать эффективные сценарии оболочки.
- Употреблять встроенные в оболочку конструкции для выбора вариантов и организации циклов.
- Применять эффективные механизмы заключения в кавычки.
- Извлекать максимальную пользу из встроенной в оболочку предыстории команд и средств их редактирования.
- Пользоваться регулярными выражениями в командах Unix.
- Выгодно пользоваться специальными средствами оболочек Korn и Bash.
- Выявлять основные отличия версий языка оболочки.
- Регулировать порядок реакции системы Unix на действия пользователя.
- Настраивать среду оболочки.
- Пользоваться функциями.
- Отлаживать программы и сценарии оболочки.
«Самая лучшая и действительно классическая книга для обучения программированию командных оболочек».
Dr.Книга обсуждается в отдельном сообщении в блоге Виктора Штонда.
Об авторах
Стефан Кочан является автором нескольких популярных книг по ОС Unix и языку С, включая Programming in С, Programming in Objective-C, Topics in С Programming и Exploring the Unix System. Прежде он работал консультантом по программному обеспечению в компании AT&T Bell Laboratories, где составил и вел курсы по Unix и программированию на языке С.
Патрик Вуд работает техническим директором в филиале компании Electronics for Imaging, находящемся в штате Нью-Джерси. Он входил в состав инженерно-технического персонала компании Bell Laboratories, где в 1985 году познакомился со Стефаном Кочаном. Совместно они основали консультационную фирму Pipeline Associates, Inc. по ОС Unix, где Патрик занимал пост вице-президента. Кроме того, они совместно написали ряд книг, в том числе Exploring the Unix System, Unix System Security, Topics in C Programming и Unix Shell Programming.
формат 70×100/16; серия Landmark ; 25.12.2020; Вильямс.
Понравилась книга? Порекомендуйте её друзьям и коллегам:
Введение 17
Глава 1. Краткий обзор основ 21
Глава 2. Назначение оболочки 59
Глава 3. Рабочие инструменты 73
Глава 4. Итак, приступим! 121
Глава 5. Заключение в кавычки 135
Глава 6. Передача аргументов 155
Глава 7. Выбор по условию 165
Глава 8. Повторное выполнение команд 203
Глава 9. Ввод и вывод данных 227
Глава 10. Рабочая среда 253
Глава 11. Дополнительные сведения о параметрах 285
Глава 12. Невыясненные вопросы 303
Глава 13. Возвращение к программе rolo 323
Глава 14. Интерактивные и нестандартные средства оболочки 339
Приложение A. Краткое изложение оболочки 377
Приложение Б. Дополнительные источники информации 419
Предметный указатель 423