Kph (korn shell)
Korn Shell (ksh) - командна оболонка UNIX, розроблена Девідом Корном в 1983 році. Korn Shell має повну зворотну сумісність з Bourne Shell і містить безліч функцій оболонки C Shell. Головною перевагою Korn Shell є можливість використання даної оболонки як мова програмування.
Особливості
- Інтерактивний командний мову для програмування високого рівня
- Від платформи незалежний
- Відповідає стандарту POSIX
- Може використовувати скрипти
Використання
В якості оболонки, завантажується при вході користувача в систему (login shell)
- AIX - пропріетарна UNIX-подібна операційна система, розроблена компанією IBM
- HP_UX - пропріетарна UNIX-подібна операційна система, розроблена компанією Hewlett-Packard
Як скриптовой оболонки
- Open Solaris - ОС з відкритим вихідним кодом, створена на базі ОС Solaris компанією Sun Microsystems
Так само Korn Shell використовується в QNX - комерційної микроядерной операційній системі реального часі, призначеної для вбудованих системи.
Як затверджувати сайт KornShell 80% клієнтів ATT Bell Laboratories использут Korn Shell.
Нова функціональність ksh93
- Додаткові арифметичні операції
- Складові змінні (аналог структур) і дисциплінарна функції (аналог методів)
- асоціативні масиви
- Посилання на змінні
- розгортання параметрів
- Функції з власної областю видимості
- Зарезервовані змінні .sh і вбудовані команди
- Історія команд
- Прибрана можливість експортування функцій і псевдонімів за допомогою вбудованих команд
Наступні версії ksh93
Функціональність ksh93t +
Інтерактивні можливості
- Можливість використання скриптів
- Можливість перенаправлення потоків на довільні файлові дескриптори.
- підтримка Unicode
- Автозаповнення рядка
- Є функція збереження історії команд і автодоповнення за даними з історії команд
- Розширений інтерфейс командного рядка: використання змінних $ PS1
- Можливість перевизначення команд для їх скорочення і підстановка параметрів в * скорочені псевдоніми команд за допомогою команди alias.
- управління процесами
- Розвинена система гарячих клавіш.
програмні можливості
- Можливість використання функцій (підпрограм)
- Обробка винятків
- Пошук і заміна по змінним
- Посилання на змінні
- Функції зі змінним числом параметрів
- Можливість встановлювати аргументи за умовчанням в функціях
- Можливість визначити для користувача типи
- Функція eval, що дозволяє виконати що-небудь
- Генератор псведослучайних чисел
- асоціативні масиви
- Вбудована підтримка арифметичних операцій над числами з плаваючою точкою
- Зарезервовані змінні .sh, вбудовані команди і їх динамічне розширення
- Можливість використання компілятора shrcomp для байт-коду
- Вбудований пошук за допомогою регулярних виразів і патернів
- Складові змінних (аналог структур) і дисциплінарні функції (аналог методів)
- Функції з власної областю видимості
межпроцессорной взаємодія
- Передача байтів по каналах, в тому числі серіалізовані об'єкти
- Можливість підстановки команд (вихідні дані однієї команди можуть бути використані як аргументи іншої)
- Можливість підстановки процесів якщо система підтримує / dev / fd /
- Підтримка TCP, UDP сполуку як потоків, а так само клієнта SCTP з'єднання.
Приклад використання складових змінних
Вплив інших командних оболонок
Bourne Shell і CShell відмовили великий вплив на Korn Shell.
Bourne Shell
Спочатку ksh була модифікацією командної оболонки Bourne shell. І до сих пір ksh зберігає повну сумісність з Bourne shell, тобто всі програми, написані для оболонки Bourne, можуть працювати ksh.
Bourne Shell була розроблена в 1977 році Стівеном Борном так само працювали на ATT Bell Labs. Це скриптова мова, що базується на командах мови алгол 68. Bourne Shell поширювалася з 7-ї версією UNIX, і до сих пір використовується в багатьох дистрибутивах як оболонка за замовчуванням і оболонка для суперкористувача root.
Відмінності Korn Shell від Bourne Shell
- платформонезавісимость
- Автозаповнення рядка
- Функція збереження історії команд
- Вбудована можливість перевизначення команд
- Значно розширена сфера програмних можливостей
- Можливість підстановки процесів
- Підтримка TCP, UDP з'єднання у вигляді потоків
Сsh заснована на стандарті POSIX і на мові Сі. Є базовою частиною freeBsd і OpenBSD. Головна особливість csh - можливість використання в якості мови програмування.
Відмінності Korn Shell від C Shell
- Підтримка функцій (підпрограм)
- Обробка винятків і інші можливості, пов'язані з використанням функцій.
- Вбудований пошук за допомогою регулярних виразів
- Можливість підстановки процесів
- Підтримка TCP, UDP з'єднання у вигляді потоків
- Не підтримує неявну зміну директорії (якщо команда - ім'я директорії, то відбувається перехід в цю директорію) Implicit Directory Change If command is dir name changes to it
Інші версії ksh
До відкриття вихідного коду Korn Shell був створений ряд альтернативних оболонок з відритим вихідним кодом:
Інші командні оболонки, що відносяться до Korn Shell
- dtksh - Desktop Korn Shell - відгалуження від ksh93, розроблялася як частина середовища робочого столу CDE.
- tksh - відгалуження від ksh93, надає доступ до бібліотеки базових елементів графічного інтерфейсу Tk
- MKS Korn Shell - пропріетарна версія Microsoft. Входить до складу Microsoft Windows Services for UNIX - програмний пакет, що забезпечує частина середовища UNIX на Windows.