Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

На главную -> MyLDP -> Электронные книги по ОС Linux
Руководство по Bash для начинающих
Назад Введение Дальше

Введение

Оригинал: "Bash Guide for Beginners"
Автор: Machtelt Garrels
Дата публикации: 9.02.2010 (Revision 1.12)
Перевод: Н.Ромоданов
Дата перевода: март 2011 г.

Почему написано это руководство?

Основной причиной для написания этого документа является то, что для большинства читателей существующие HOWTO оказываются слишком краткими и неполными, а руководство "Advanced Bash-Scripting Guide" ("Искусство программирования на языке сценариев командной оболочки") содержит слишком много справочного материала. И между этими двумя крайностями ничего нет. Также я писала это руководство еще и потому, что имеющихся бесплатных базовых курсов недостаточно, хотя их следует прослушать.

Это практическое руководство, в котором я, хотя и не всегда в достаточно серьезном стиле, даю примеры из реальной жизни вместо теоретических примеров. Отчасти я писала, что это связано с тем, что не хочу приводить урезанных и чересчур простых примеров, предлагаемых теми, кто знают, о чем говорят, и показывают некоторые действительно крутые возможности Bash, но настолько вырванные из контекста, что вы никогда не сможете воспользоваться ими в практических условиях. Вы можете прочитать об этом после изучения настоящей книги, содержащей упражнения и примеры, которые помогут вам в реальной жизни.

Из моего практического опыта, как пользователя UNIX/Linux, системного администратора и преподавателя, я знаю, что люди могут годами ежедневно общаться со своими системами и совсем не знать, как автоматизировать выполнение задач. Поэтому часто они думают, что система UNIX неудобна для пользователей, и, что еще хуже, у них складывается впечатление, что это медленная и старомодная система. Это еще одна проблема, с которой можно будет справиться с помощью настоящего руководства.

Кто должен прочитать эту книгу?

Пользу от чтения этой книги может извлечь каждый, кто работает с системами UNIX или UNIX-подобными системами, кто хочет облегчить жизнь себе, опытным пользователям, а также системным администраторам. Читатели, у которых уже есть понимание о том, как с помощью командной строки работать с системой, узнают все подробности создания скриптов командной оболочки, с помощью которых можно облегчить выполнение повседневных задач. В системном администрировании полагаются в основном на создание скриптов; повседневные задачи часто автоматизируются с помощью простых скриптов. В этом документе масса примеров, которые воодушевят вас на написание своих собственных скриптов и подвигнут вас улучшить уже существующие скрипты.

Прежде, чем перейти к настоящему курсу:

  • вы должны быть опытными пользователем UNIX или Linux, знакомым с основными командами, со страницами описаний man и документацией;
  • уметь пользоваться текстовым редактором;
  • понимать, как происходит загрузка системы и останавливаются процессы, что делает init и как используются скрипты init;
  • создавать пользователей и группы, устанавливать пароли;
  • знать, что такое права доступа и специальные режимы;
  • знать правила именования устройств, понимать, что такое разделы, монтировать / размонтировать файловые системы;
  • уметь добавлять программное обеспечение в вашу систему и удалять его из системы.

Если вы не знакомы с какой-нибудь одной или несколькими темами, перечисленными выше, смотрите книгу Introduction to Linux ("Введение в Linux") на сайте TLDP или на вашем локальном зеркале TLDP. Дополнительную информацию можно найти в документации по вашей системе (страницы man и info), либо на сайте Linux Documentation Project.

Самую последнюю редакцию настоящей книги можно найти по ссылке http://tille.garrels.be/training/bash/. Ту же самую редакцию вы должны также найти по ссылке http://tldp.org/LDP/Bash-Beginners-Guide/html/index.html.

В печатном виде данное руководство доступно на Fultus.com.

Рис.1. Обложка книги "Руководство по Bash для начинающих"

Настоящее руководство было переведено:

Осуществляется перевод на французский язык и ссылка на него будет дана сразу после завершения перевода.

История изменений

История изменений

Revision 1.12

2010-02-09

MG

Учтены пожелания читателей: исправлены объяснения команды shift в главе 9, опечатки в главе 7, главе 3, главе 10.

Revision 1.11

2008-12-27

MG

Учтены пожелания читателей.

Revision 1.10

2008-06-06

MG

Изменен адрес

Revision 1.9

2006-10-10

MG

Вставлены замечания читателей, с помощью тегов DocBook добавлен индекс.

Revision 1.8

2006-03-15

MG

Пояснен пример в главе 4, скорректировано описание встраиваемых документов (here doc) в главе 9, общая проверка и исправление типографских ошибок, добавлены ссылки на китайский и украинский переводы, замечание и прочее об awk в главе 6.

Revision 1.7

2005-09-05

MG

Исправлены типографские ошибки в главе 3, 6 и 7, добавлены замечания пользователей, добавлено замечание в главе 7.

Revision 1.6

2005-03-01

MG

Немного об отладке, добавлено несколько ключевых слов, информация о новом Bash 3.0, добавлено изображение.

Revision 1.0

2004-04-27

TM

Первоначальный релиз для LDP; больше примеров, больше пометок, меньше ошибок и описок, добавлен глоссарий

Revision 1.0-beta

2003-04-20

MG

Благодарности

Спасибо всем друзьям, которые помогали (или пытались помочь), и моему мужу; ваши ободряющие слова сделали эту работу возможной. Спасибо всем, кто сообщал об ошибках, присылал примеры и замечания - среди многих, многих других:

  • Хансу Боллу (Hans Bol) одному из поклонников;
  • Майку Симу (Mike Sim) за замечания, касающиеся стиля;
  • Дану Ричтеру (Dan Richter) за примеры с массивами;
  • Жоржу Фергусону (Gerg Ferguson) за идеи, касающиеся заглавий;
  • Менделю Ли Куперу (Mendel Leo Cooper), предоставившему место для работы;
  • #linux.be, за поддержку меня на плаву;
  • Франку Вану (Frank Wang), за подробные замечания о всем том, что я делала не так, как надо ;-)

Особая благодарность Табате Маршалл (Tabatha Marshall), которая взялась сделать общую проверку и проверку орфографии и грамматики. У нас была отличная команда: она работала, когда я спала. И наоборот ;-)

Отсутствует информация, ошибочные ссылки, пропущенные буквы, замечания? Отправьте письмо на

<tille wants no spam _at_ garrels dot be>

(речь идет об ошибках в англоязычной версии — прим.пер.).

Информация об авторских правах

* Copyright (c) 2002-2007, Machtelt Garrels
* All rights reserved.
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
*     * Redistributions of source code must retain the above copyright
*       notice, this list of conditions and the following disclaimer.
*     * Redistributions in binary form must reproduce the above copyright
*       notice, this list of conditions and the following disclaimer in the
*       documentation and/or other materials provided with the distribution.
*     * Neither the name of the author, Machtelt Garrels, nor the
*       names of its contributors may be used to endorse or promote products
*       derived from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS "AS IS" AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE AUTHOR AND CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Автор и издатель для того, чтобы обеспечить точность информации, приложили все усилия при подготовке этой книги. Однако, информация, содержащаяся в этой книге, предлагается без гарантий, явных или подразумеваемых. Ни автор, ни издатель, ни дилер или дистрибьютор не несут никакой ответственности за любой ущерб, причиненный или предположительно вызванный прямо или косвенно этой книгой.

Логотипы, товарные знаки и символы, используемые в этой книге, являются собственностью их соответствующих владельцев.

Что вам нужно?

Bash, доступен на http://www.gnu.org/directory/GNU/. Командная оболочка Bash есть практически в любой системе Linux и, в наши дни, может быть найдена в различных системах UNIX.

В случае, если вам потребуется собрать свой собственный вариант, компилируется легко - проверено на широком спектре систем UNIX, Linux, MS Windows и других.

Условные обозначения, используемые в данном документе

В этом документе используются следующие типографские соглашения:

Таблица 1. Типографские соглашения

Пример текстаЧто означает

“Quoted text”

Цитата, фрагмент выходного потока.

terminal view

Фрагмент текста входного или выходного потока, изображаемый в терминале.

command

Имя команды, которая вводится в командной строке.

VARIABLE

Имя переменной или указатель на содержимое переменной, например, $VARNAME.

option

Параметр команды, например, "параметр -a в команде ls".

argument

Аргумент команды, например, "прочитайте man ls".

command options arguments

Команда или пример использования, указываемые в отдельной строке.

filename

Имя файла или директория, например, "перейдите в директорий /usr/bin".

Key

Клавиши, нажимаемые на клавиатуре, например, "для выхода нажмите Q".

Button

Графическая кнопка, по которой можно щелкнуть мышкой, например, кнопка OK.

Menu → Choice

Выбор варианта в графическом меню, например: "Выберите в вашем браузере Help → About Mozilla".

Terminology

Важный термин или концепция: "Ядро Linux является сердцем системы".

\

С помощью обратного слеша в окне терминала или в строке команды указывается неоконченная строка. Другими словами, если вы увидите длинную команду, которая разделена на несколько строк, то \ означает — "Клавиша Enter еще не нажималась!".

See Chapter 1, Bash and Bash scripts

Ссылка на соответствующую тему в данном руководстве.

The author

Ссылка на внешний веб ресурс

Организация настоящего документа

В этом руководстве рассматриваются понятия, которые окажутся полезными серьезным пользователям Bash в их повседневной жизни. Хотя читателю потребуются базовые знания, касающиеся использования командной оболочки, мы начнем в первых трех главах с обсуждения основных компонентов командной оболочки и с рассмотрения практических примеров.

В главах с четвертой по шестую рассматриваются основные инструментальные средства, которые обычно используются в скриптах командных оболочек.

В главах с восьмой по двенадцатую обсуждаются наиболее типичные конструкции, используемые в скриптах командных оболочек.

В каждой главе присутствуют упражнения, которые проверят вашу готовность перейти к следующей главе.


Предыдущий раздел: Оглавление Следующий раздел:
Оглавление   Глава 1: Командная оболочка и скрипты Bash