Інтерпретатор командного рядка

Сесія в Windows PowerShell
Командний інтерпретатор, інтерпретатор командного рядка - комп'ютерна програма, частина операційної системи, що забезпечує базові можливості управління комп'ютером за допомогою інтерактивного введення команд через інтерфейс командного рядка або послідовного виконання пакетних командних файлів. Як правило його функції зводяться до надання користувачеві можливості запускати інші програми, може також містити деякі базові команди введення-виведення і свій простий скриптова мова програмування. У операційні системи MS DOS і Windows 95 включений командний інтерпретатор command.com, Windows NT включений cmd.exe, в OS / 2 командний інтерпретатор теж називається cmd.exe, найпоширеніший командний інтерпретатор в Linux і FreeBSD - bash, крім якого є велике сімейство інших. Як правило, при низкоуровневой налаштування ОС у користувача є можливість змінювати командний інтерпретатор, який використовується за умовчанням.
До функцій інтерпретатора командного рядка відносяться:
- Взаємодія з користувачем (редагування командного рядка, історія команд і т.д.).
- Обробка (розширення) шаблонів імен ( "*", "?" І т.д.).
- Перенаправлення вводу-виводу команд.
- Управління завданнями.
Програмування в інтерпретаторі
Найчастіше інтерпретатор командного рядка надає можливість використання циклів, операторів умовного і безумовного переходу і змінних. Він дозволяє писати як нескладні сценарії для автоматизації повсякденних завдань, так і досить складні програми.
Приклад калькулятора для інтерпретатора командного рядка windows / MS-DOS.
Калькулятор, для командної оболонки bash:
Оболонка, в своїй роботі оперує простими командами.
Проста команда - це послідовність слів через пробіл. Натискання клавіші Enter при введенні команди або новий рядок при обробці сценарію є для командного інтерпретатора ознакою завершення команди. Вона обробляється і виконується.
Конвеєр - це послідовність однієї або більше команд, розділених | ( для cmd.exe). Стандартний вихідний потік кожної команди, крім останньої, з'єднується за допомогою програмного каналу зі стандартним вхідним потоком наступної команди. Кожна команда виконується як окремий процес; інтерпретатор чекає закінчення останньої команди. Статусом виходу конвеєра є статус виходу його останньої команди. Ось приклад простого конвеєра для інтерпретатора bash: