Выбор интерпретатора командной строки Linux

Подписка на LinuxFormat 2017 Инфофорум национальной безопасности

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

$ echo $SHELL
/bin/bash

В этом примере используется интерпретатор командной строки bash. Существует множество других командных интерпретаторов. Для активизации другого интерпретатора можно ввести его имя в командной строке (ksh, tcsh, csh, sh, bash и т.д.).

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

Проверка доступности интересующего интерпретатора командной строки

Самым простым способом проверки доступности интересующего командного интерпретатора является ввод его имени в командной строке. Если интерпретатор запустился, он доступен.

Существует несколько причин для выбора альтернативных командных интерпретаторов.

  • Привычка работать в системах UNIX System V (во многих из них по умолчанию применяются интерпретатор ksh) или в системах компании Sun Microsystems и других системах на базе Berkeley UNIX (в них часто используется csh). В таком случае применение этих интерпретаторов командной строки окажется более удобным.
  • Необходимость запуска сценариев, которые создавались для определенного командного интерпретатора.
  • Возможности альтернативного командного интерпретатора могут оказаться более предпочтительными. Например, один из членов группы пользователей Linux предпочитает применять ksh, так как его не устраивает способ создания псевдонимов в bash.

Хотя большинство пользователей предпочитает работать в одном командном интерпретаторе, полученные навыки помогают научиться работать и в других интерпретаторах командной строки, изредка заглядывая в справочное руководство (например, с помощью команды manbash). Большинство используют bash, так как нет причин переходить на другой интерпретатор.

Использование Bash и ch

Название bash является аббревиатурой от Bourne Again SHell. Эта аббревиатура указывает на то, что bash наследует интерпретатор Bourneshell (команда sh), созданный Стивом Борном (Steve Bourne) из AT&TBell Labs. Брайан Фокс (Brian Fox) из Free Software Foundation создал bash в составе проекта GNU. В дальнейшем разработка перешла в руки Чета Рами (Chet Ramey) в Case Western Reserve University.

Интерпретатор bash содержит возможности, которые разрабатывались для интерпретаторов sh и ksh во времена ранних версий UNIX, а также ряд возможностей интерпретатора csh.

Можно рассчитывать, что в большинстве систем Linux, кроме специализированных (например, встраиваемых или загружающихся с внешнего диска), интерпретатор bash применяется по умолчанию. В специализированных системах может потребоваться командный интерпретатор меньшего объема, что подразумевает и ограничение возможностей.

Большинство примеров в этой статье рассчитано на использование bash.

Интерпретатор bash может запускаться в различных режимах совместимости, имитируя поведение других командных интерпретаторов. Он может имитировать поведение Bourne shell (sh) или командного интерпретатора, совместимого со стандартами POSK (bash — posix).

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

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

Использование tcsh (и более раннего интерпретатора csh)

Командный интерпретатор tcsh является реализацией интерпретатора Сshell (csh) с открытым исходным кодом. Интерпретатор csh был создан Биллом Джоем (Bill Joy) и используется по умолчанию практически во всех системах Berkeley UNIX (такие системы распространялись компанией Sun Microsystems).

Многие возможности csh, например редактирование командной строки и методы управления историей команд, были реализованы в интерпретаторе tcsh и в других командных интерпретаторах. Так же как команда sh запускает интерпретатор bash в режиме совместимости с интерпретатором sh, команда csh запускает интерпретатор tcsh в режиме совместимости с интерпретатором csh.

Использование интерпретатора ash

Интерпретатор ash является облегченной версией интерпретатора Berkeley UNIX sh. Он не содержит многих базовых функций и не предоставляет таких возможностей, как история команд.

Интерпретатор ash хорошо подходит для применения во встраиваемых системах с ограниченными системными ресурсами. В операционной системе FedoraCore 4 интерпретатор ash на порядок меньше интерпретатора bash.

Использование zsh

Интерпретатор zsh является еще одним клоном интерпретатора sh. Он соответствует требованиям стандарта POSIX (как и bash), но обладает другими возможностями, включая проверку орфографии и иной подход к редактированию командной строки. Интерпретатор zsh использовался по умолчанию в первых операционных системах MacOS X, но в современных системах по умолчанию применяется интерпретатор bash.

Комментарии:

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">