Интерпритатор команд

Автор работы: Пользователь скрыл имя, 31 Октября 2013 в 22:33, реферат

Описание работы

При работе с FreeBSD, в большинстве случаев для выполнения повседневных задач используется командный интерфейс (так называемая «оболочка», «shell»). Основная задача интерпретатора — принимать вводимые команды и выполнять их. Многие командные интерпретаторы имеют встроенные средства для выполнения повседневной работы, например, операции над файлами и каталогами, редактирование командной строки, командные макросы и переменные окружения. Вместе с FreeBSD поставляется несколько командных интерпретаторов, например, sh, или Bourne Shell, и tcsh, расширенная версия C-shell. Многие другие интерпретаторы доступны из коллекции портов FreeBSD, например zsh и bash.

Файлы: 1 файл

Интерпритатор команд.docx

— 17.10 Кб (Скачать файл)

4.9. Интерпретатор  команд

При работе с FreeBSD, в большинстве случаев для выполнения повседневных задач используется командный интерфейс (так называемая «оболочка», «shell»). Основная задача интерпретатора — принимать вводимые команды и выполнять их. Многие командные интерпретаторы имеют встроенные средства для выполнения повседневной работы, например, операции над файлами и каталогами, редактирование командной строки, командные макросы и переменные окружения. Вместе с FreeBSD поставляется несколько командных интерпретаторов, например, sh, или Bourne Shell, и tcsh, расширенная версия C-shell. Многие другие интерпретаторы доступны из коллекции портов FreeBSD, например zsh и bash.

Какой из командных интерпретаторов  использовать? Это дело вкуса. Если вы программируете на C, то вам, возможно, понравится tcsh. Если вы работали с Linux, или только начинаете работать с интерфейсом командной строки UNIX®, попробуйте bash. Каждый из названных интерпретаторов имеет свои особенности, которые отличат его от других, и, возможно, повлияют на ваш выбор.

Одна из наиболее часто  используемых функций командного интерпретатора – дополнение частичного имени файла  до полного. Вы можете набрать только первые несколько символов имени файла, нажать клавишу табуляции (TAB), и командный интерпретатор автоматически завершит имя. Например, у нас есть два файла, названные foobar и foo.bar. Допустим, мы хотим удалить файл foo.bar. Для этого, наберем на клавиатуре rm fo[Tab].[Tab].

Вы увидите следующее: rm foo[BEEP].bar.

Здесь [BEEP] – это так  называемый консольный сигнал, оповещающий  о том, что интерпретатор не в  состоянии закончить имя файла, так как по введенным вами символам невозможно однозначно идентифицировать файл. Например, имена файлов foobar и foo.bar оба начинаются с fo, но после нажатия TAB можно однозначно дополнить только до foo. Если же теперь ввести точку (.) и вновь нажать TAB, интерпретатор достроит имя файла целиком.

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

 

 

 

 

 

Переменная

Описание

USER

Имя текущего пользователя.

PATH

Каталоги, разделенные двоеточием, для поиска исполняемых файлов.

DISPLAY

Сетевое имя виртуального дисплея X11, доступного для подключения.

SHELL

Текущий командный интерпретатор.

TERM

Тип терминала пользователя. Используется, чтобы узнать возможности  терминала.

TERMCAP

Список escape-последовательностей  для управления различными функциями  терминала.

OSTYPE

Название (тип) операционной системы. Например, FreeBSD.

MACHTYPE

Архитектура машины (процессора).

EDITOR

Выбранный пользователем  текстовый редактор.

PAGER

Выбранная пользователем  утилита просмотра файлов.

MANPATH

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


Установка значений переменных окружения различна для разных оболочек. Например, в интерпретаторах C-стиля, таких как tcsh и csh, это setenv. В интерпретаторах Bourne, таких как sh и bash, это export. Например, чтобы установить или изменить значение переменной EDITOR к значению /usr/local/bin/emacs в csh или tcsh, выполните команду:

% setenv EDITOR /usr/local/bin/emacs

В оболочках Bourne:

% export EDITOR="/usr/local/bin/emacs"

Чтобы получить значение переменной, например, в командной строке, поместите  символ $ перед именем переменной. Например, команда echo $TERM выведет значение переменной $TERM.

Командный интерпретатор  воспринимает некоторые символы, называемые метасимволами, в качестве управляющих. Один из наиболее часто используемых – символ *, который заменяет любое количество символов в имени файла. Метасимволы используются для поиска файлов по маске, например, команда echo * делает практически тоже самое, что и команда ls, поскольку интерпретатор вызывает команду echo, передавая ей имена всех файлов, попадающих под маску *.

В некоторых ситуациях  требуется, чтобы интерпретатор  воспринимал метасимволы как  обычные, не несущие специальной  смысловой нагрузки. Этого можно  достичь, поставив перед символом обратную косую черту (\). Например, команда echo $TERM выведет тип вашего терминала, в то же время команда echo \$TERM выведет именно слово $TERM, а не значение переменной $TERM.

4.9.1. Как изменить командный  интерпретатор по умолчанию

Самым простым способом, пожалуй, будет воспользоваться  командой chsh. Если переменная EDITOR определена, то будет загружен соответствующий текстовый редактор, иначе vi. Вам нужно будет изменить значение поля «Shell:» и выйти из редактора с сохранением результатов.

Можно также воспользоваться  опцией -s команды chsh. Например, если вы хотите изменить интерпретатор на bash, выполните:

% chsh -s /usr/local/bin/bash

 


Информация о работе Интерпритатор команд