IBM®
Перейти к тексту
    в России и странах СНГ [изменить]    Условия использования
 
 
   
    Главная страница    Продукты    Услуги и решения    Поддержка и загрузка    Мой профиль    
Перейти к тексту

developerWorks Россия  >  AIX и UNIX  >

Работа в командной оболочке Bash

Введение

developerWorks
На предыдущую страницуСтраница 2 из 10 На предыдущую страницу

Опции документа

Обсудить


Выскажите мнение об этом учебном пособии

Помогите нам улучшить содержание


Обзор Bash

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

Для упрощения часто выполняемых на компьютерах задач поверх операционной системы с течением времени надстраивались графические интерфейсы типа Microsoft® Windows®, K Desktop Environment (KDE), GNU Network Object Model Environment (GNOME), Aqua от Apple и X11 от X Consortium. Однако так было не всегда. До того, как оконные системы завоевали популярность, пользователи компьютеров работали в командной строке, напрямую взаимодействуя с ядром при выполнении своей работы. Так как такой путь был труден и часто приводил к ошибкам, было разработано программное обеспечение промежуточного уровня, называемое командной оболочкой, которое упрощало работу по взаимодействию с ядром операционной системы.

Краткая история командных оболочек UNIX

Автором первой широко распространенной командной оболочки был Стивен Борн (Stephen R. Bourne) из AT&T Bell Labs, создавший свою программу в 1974 году и назвавший ее Bourne shell. Эта командная оболочка была написана для того, чтобы упростить взаимодействие пользователя с версией UNIX Seventh Edition от Bell Labs Research. Bourne shell предоставляет язык программирования, позволяющий пользователю контролировать входные и выходные потоки программы и содержащий мощные поисковые возможности.

Примерно в то же время в Университете штата Калифорния в Беркли (University of California, Berkeley) разрабатывалась альтернативная реализация UNIX, получившая известность как BSD UNIX (BSD - Berkeley Software Distribution). В 1978 году Билл Джой (Bill Joy) также в Беркли разработал новую командную оболочку UNIX, названную C Shell (/bin/csh), которая имела дополнительную функциональность, включая контроль заданий, псевдонимы и улучшенные возможности по взаимодействию с пользователем. Вдобавок средства программирования в C Shell были приближены к языку программирования C. Однако некоторые из этих изменений усложнили разработку и поддержку сценариев командной оболочки.

Впоследствии были разработаны и другие командные оболочки, в том числе Korn shell (/bin/ksh) и TC shell (/bin/tcsh) - расширения оригинальных Bourne shell и C Shell соответственно. Несмотря на ряд улучшений, обе эти командные оболочки имели и свои недостатки. Korn shell распространялась изначально с закрытыми исходными кодами, а TC shell сохранила многие сложности при написании сценариев, свойственные C Shell. Вскоре была разработана международная спецификация, известная как POSIX (Portable Operating System Interface) 1003.2, которая указывала, каким образом командная оболочка должна взаимодействовать с пользователем.

Командная оболочка Bash (/bin/bash), название которой является сокращением от Bourne-Again SHell, была первоначально разработана Брайаном Фоксом (Brian Fox) из Free Software Foundation; цель разработки состояла в том, чтобы преодолеть ограничения предыдущих оболочек. Продолжая традиции Bourne shell, Bash предоставляет следующие преимущества:

  • Мощный и простой в использовании язык сценариев.
  • Преимущества интерактивного взаимодействия, заимствованные из семейства командных оболочек C Shell.
  • Свобода распространения и полностью открытые исходные коды.
  • Полная реализация спецификации POSIX 1003.2.



В начало


Особенности Bash

Благодаря богатой истории развития Bash предоставляет ряд полезных особенностей, которые улучшают взаимодействие пользователя с командной оболочкой и упрощают разработку сценариев - простых программ, автоматизирующих пользовательские задачи. Bash легко настраивается - как через специальные файлы инициализации, так и через опции настройки. В Таблице 1 представлены некоторые из основных особенностей, которые расширяют возможности взаимодействия с Bash.


Таблица 1. Основные особенности командной оболочки Bash
ОсобенностиОписание
Редактирование в командной строкеПозволяет легко перемещать курсор и редактировать текст команды.
История команд Дает возможность повторить или при необходимости изменить команду, которая была введена в командной строке ранее.
Перенаправление ввода-выводаПозволяет легко указать команде, откуда брать входные данные и куда направлять выходные данные.
ПсевдонимыПозволяет создавать краткие обозначения для однострочных команд.
ФункцииПозволяет создавать сокращения для многострочных команд.

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



В начало



На предыдущую страницуСтраница 2 из 10 На предыдущую страницу
    IBM в России Конфиденциальность Контакты