Интерпретатор командной строки — Википедия

Интерпретатор командой строки в ОС UNIX bash
cmd.exe Windows после запуска
Сессия в Windows PowerShell

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

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

В операционные системы MS-DOS и Windows 95 включён командный интерпретатор COMMAND.COM, в Windows NTcmd.exe, в OS/2 командный интерпретатор тоже называется cmd.exe, самый распространённый командный интерпретатор в Linux и FreeBSD — bash, помимо которого есть большое семейство других.

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

К функциям интерпретатора командной строки относятся:

  • Взаимодействие с пользователем (редактирование командной строки, история команд и т. д.).
  • Обработка (расширение) шаблонов имен («*», «?» и т. д.).
  • Перенаправление ввода-вывода команд.
  • Управление заданиями.

Программирование в интерпретаторе[править | править код]

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

Пример калькулятора для интерпретатора командной строки Windows/MS-DOS.

@echo off :begin Cls Title Калькулятор Color 71 Echo Введите уравнение: Set /P exp= Set /A result=%exp% Title Вычислено Echo Ваше уравнение: %exp% Echo Решение: %result% Pause>nul goto begin 

Калькулятор, для командной оболочки bash:

#!/usr/bin/env bash  echo "Калькулятор" while read -p "Введите выражение: " expr do     echo "Результат: $(($expr))" done 

Понятия[править | править код]

Оболочка в своей работе оперирует простыми командами.

Простая команда — это последовательность слов через пробел. Нажатие клавиши Enter при вводе команды или перевод строки при обработке сценария являются для командного интерпретатора признаком завершения команды. Она обрабатывается и выполняется.

Конвейер — это последовательность одной или более команд, разделенных |(& для cmd.exe). Стандартный выходной поток каждой команды, кроме последней, соединяется при помощи программного канала со стандартным входным потоком следующей команды. Каждая команда выполняется как отдельный процесс; интерпретатор ожидает окончания последней команды. Статусом выхода конвейера является статус выхода его последней команды. Вот пример простого конвейера для интерпретатора bash :

$ ls | tee save | wc      15      15     100 

Командные интерпретаторы[править | править код]

DOS:

Windows:

Unix:

См. также[править | править код]

Примечания[править | править код]

Ссылки[править | править код]