Original article: https://kermitproject.org/ckscripts.html
Останнє оновлення: Пт, 14 липня 19:40:54 2023
Підручник C-Kermit Підручник Kermit 95 Перегляньте сценарії ... Вбудовані змінні Вбудовані функції
Зміст
- вступ
- Завантажувач/інсталятор сценарію Kermit
- Підручник зі створення сценаріїв
- Останні доповнення до бібліотеки сценаріїв
- Файли ініціалізації C-Kermit
- Скрипти HTML
- Скрипти FTP
- Інтернет-скрипти
- Скрипти журналювання
- Сценарії модему
- Сценарії пейджера
- Сценарії форматування екрана
- Сценарії сканування екрана
- Скрипти передачі файлів
- Скрипти керування файлами
- Скрипти обробки чисел
- Арифметика дата-час
- Об'єктно-орієнтоване програмування
- Скриптові тести тортур
- Для MS-DOS Kermit...
ОСТАННІ СЦЕНАРІЇ (подробиці нижче )
- Облікові записи
, липень 2023 р. Для пенсіонерів, які проживають у квартирах: відстежуйте свій дохід порівняно з орендною платою рік за роком; подивіться, який з них піднімається швидше. Ілюструє, як вбудовувати табличні дані в сам сценарій, а не читати їх із зовнішнього файлу; як розбити рядок таблиці на елементи; використання кількох асоціативних масивів одночасно; як символічно адресувати елементи асоціативного масиву; і використання S-виразів, коли потрібні результати з плаваючою комою (у цьому випадку відсотки). - ckubuildlog,
червень 2023 р. Створює запис для C-Kermit 10.0 builds-table , який використовуватиметься після створення тестової бета-версії або, якщо на те пішло, справжнього випуску 10.0, коли він буде готовий. Наразі лише ОС сімейства Unix. - findmissinghtml
Березень 2023. Для веб-сайтів: знаходить відсутні сторінки, які містять файли резервної копії Emacs, тому, якщо ви ніде не можете знайти справжню сторінку, ви можете принаймні відновити її з останньої резервної копії. - k95relay,
квітень 2022 р. Сценарій Kermit 95 для входу на хост, SSH-сервер якого не підтримує жоден із шифрів, які використовує SSH-клієнт K95, використовуючи хост або підсистему Linux як ретранслятор. Тепер C-Kermit 10.0 для Windows доступний . - Fixfilelists,
травень 2021 р. Перетворіть сторінку архіву Kermit на відображення списків файлів після перетворення посилань із ftp: на http: через «застаріння» FTP основними веб-браузерами в березні-квітні 2021 р. По суті, цей сценарій робить імена файлів у списку каталогу можна натиснути, щоб ви могли їх переглянути або завантажити. - Фотогалерея
2013-2023 (активний проект). Виробничий сценарій для створення, модифікації та оновлення галерей зображень в Інтернеті. - html,
травень 2017 р. Перетворює звичайні текстові файли на html. Це також перший сценарій Kermit, який можна використовувати в конвеєрах Unix. - Remind
2016. Проста програма-нагадування, яку можна викликати зі свого профілю входу. - Getkermitscript
2014. Автоматичне завантаження та встановлення сценаріїв із бібліотеки сценаріїв Kermit. Оновлено у 2022 році, щоб «відповідати» «застарілому» протоколу ftp для завантаження. - Replacetextblock
2014. Автоматичний спосіб замінити блок тексту (наприклад, багаторядкове повідомлення про авторські права) у всіх файлах, які його містять. - Jpginfo
2013. Створює список файлів зображень у форматі JPG, у якому вказано дату зйомки, ширину, висоту, портретну чи альбомну орієнтацію. - Renamejpgs
2013. Сценарій для перейменування файлів JPG (наприклад, з камер, сканерів або мобільних телефонів) відповідно до «витраченого часу» або «часу створення». Купу зображень із різних пристроїв можна перейменувати в порядку дати й часу.
ПЕРЕДМОВА
Поки я це пишу, все менше людей знають, що таке Керміт; якщо це стосується вас, ви можете клацнути тут , щоб переглянути огляд. Розквіт Kermit припав на 1980-90-ті роки, коли майже всі, хто використовував комп’ютери для зв’язку з іншими комп’ютерами, використовували Kermit як емулятор терміналу та для передачі файлів. C-Kermit для Unix і VMS і MS-DOS Kermit для DOS були розроблені в тандемі. Коли ми почали додавати можливості автоматизації, мова сценаріїв була спільною для обох програм. Коли вийшов Kermit 95 для Windows, він мав ту саму мову сценаріїв, оскільки він побудований на C-Kermit.
Спочатку мова сценаріїв була націлена на завдання зв’язку та передачі файлів, але з часом вона перетворилася на мову програмування загального призначення за масштабом десь між сценаріями оболонки та Perl, з фрагментами сценаріїв оболонки Unix, C , Bliss , Lisp , Snobol , Algol та PL/I , змішані з циклами, змінними, масивами, функціями, арифметикою, асоціативними масивами, рекурсією, булевою логікою, маніпулюванням рядками, вводом/виводом та керуванням файлами, відповідністю шаблонів, обробкою списків тощо .
Сьогодні ви можете писати програми сценаріїв Kermit, щоб робити майже будь-що, незалежно від того, передбачає це зв’язок чи ні (і якщо це передбачає зв’язок, це може бути через послідовні з’єднання, мережеві з’єднання з відкритим текстом або безпечні мережеві з’єднання). Зараз Керміт використовує системне та веб-сайтне адміністрування та розробку веб-сайтів, і ви можете побачити багато прикладів робочих сценаріїв у цих областях нижче.
Говорячи за себе, програмуючи з середини 1960-х років, я вільно володів багатьма мовами програмування, і мені хотілося б, щоб усі вони, окрім C, не вимерли (PL/I, Snobol і Mainsail мені дуже не вистачає; вони були потужними, стабільними, послідовними та добре задокументованими). Сучасний вибір (C, сценарії оболонки тощо) є рухомими цілями; програми, написані цією мовою, не залишаються написаними ; вони з часом занепадають, оскільки мови та пов’язані з ними бібліотеки та утиліти постійно перевизначаються. Ось чому зараз я пишу всі свої програми (крім самого C-Kermit , звісно) мовою Kermit... Бо сама мова не змінюєтьсязворотно-несумісними способами, щоб «старі» сценарії ніколи не потребували «оновлення», вони просто продовжували працювати навіть після випуску нових версій самого Kermit. А також тому, що коли є помилка в мові, я можу її виправити сам, а коли є щось, що мені потрібно зробити, а не в мові, я можу це додати сам. Завжди у зворотній сумісності.
Поки що немає чіткого посібника з мови Kermit. Усе десь задокументовано, але це розкидано по книгах (які зараз є онлайн ) і серії веб-сторінок . У липні 2019 року я склав вичерпний посібник із усією інформацією. Це як зміст ; ось воно . Тим часом ця сторінка (та, яку ви зараз читаєте) є досить хорошим місцем для початку: знайдіть сценарій, який виконує щось подібне до того, що ви хочете зробити, і використовуйте його як посібник. А коли ви бачите незрозумілу команду чи функцію, скористайтеся вбудованою командою HELP C-Kermit, щоб дізнатися про це:
допомогти?
Показує теми довідки
команда допомоги
Надає інформацію про задану команду
допоможіть встановити команду
Надає інформацію про задану команду SET
назва функції довідки
Надає інформацію про задану вбудовану функцію.
Також використовуйте діалогове вікно пошуку Google на домашній сторінці та спробуйте новий « Зміст ».
— Френк да Круз, Перше травня 2017 р., оновлено 29 серпня 2019 р.
ВСТУП
Мова команд і сценаріїв C-Kermit і Kermit 95 описана в розділі Використання C-Kermit , 2-е видання, доповнене Доповненням C-Kermit 7.0 , Доповненням C-Kermit 8.0 і Доповненням C-Kermit 9.0 . Ви також можете отримати огляди та навчальні посібники ТУТ для Kermit загалом і ТУТ для Kermit 95 зокрема.
Програмне забезпечення Kermit вперше з'явилося в 1981 році для мікрокомп'ютерів CP/M і мейнфреймів DECSYSTEM-20 і IBM. І незабаром після цього для IBM (та інших) ПК з MS-DOS, а потім для все більш і більш різних обчислювальних платформ , зокрема Unix і Microsoft Windows . Мова команд, синтаксис і (у більшості випадків) редагування команд і допомога були адаптовані з TOPS-20 EXEC, тобто інтерфейсу користувача (або «оболонки» сучасною мовою) DECSYSTEM-20, який був основним платформа для академічних обчислень у Колумбійському університеті з 1977 по 1988 рік. Відомі функції включають довідку для кожного поля після «?», завершення ключових слів і імен файлів після Tab або Esc, а також вбудовану довідку. Можливості програмування були додані до командної мови, починаючи з C-Kermit 5A(190) для Unix , VMS, AOS/VS, Plan 9 (тощо), і MS-DOS Kermit, і з того часу були вдосконалені та розширені. Унікальною особливістю сценаріїв Kermit є те, що вони переносяться не лише на різні обчислювальні платформи (наприклад, Unix і Windows), а й на різні методи зв’язку (Telnet, FTP, безпечний Telnet, безпечний FTP, SSH, SSL, Kerberos IV/V тощо). понад 100 різних типів модемів і прямий послідовний порт).
На цій сторінці пропонується короткий вступ до сценаріїв Kermit і бібліотека зразків сценаріїв Kermit, наведених нижче . Ті, що позначені (*), є сценаріями "kerbang", які в UNIX можна використовувати так само, як сценарії оболонки, якщо ви надасте їм дозвіл на виконання:
chmod +x назва сценарію
Аргументи командного рядка приймаються в очікуваний спосіб, наприклад:
autotelnet xyz.com myuserid
Це робить аргументи командного рядка доступними для сценарію в змінних \%0 (назва сценарію), \%1 (перший аргумент), \%2 (другий аргумент) тощо.
Перший рядок кожного сценарію kerbang виглядає так:
#!/usr/local/bin/wermit +
(але без відступу). Це вказує шлях до виконуваного файлу C-Kermit, який має виконати сценарій; змініть цей рядок за потреби. Кінцевий знак «плюс» є обов’язковим, якщо аргументи командного рядка мають бути передані до сценарію (і не зашкодить, якщо це не так). Функція «kerbang» вимагає C-Kermit 7.0 або новішої версії. Додаткову інформацію про сценарії kerbang див. у розділі Доповнення до C-Kermit 7.0 на цю тему.
ПОПЕРЕДЖЕННЯ. В операційних системах на основі Unix файл сценарію має бути у текстовому форматі Unixдля роботи механізму Kerbang. Тобто рядки повинні завершуватися та розділятися лише переводом рядка, а не поверненням каретки та переводом рядка (як це сталося б, наприклад, якщо ви завантажили файл із Windows у двійковому режимі, а не в текстовому). Якщо рядок Kerbang закінчується на CR і LF, оболонка Unix вважатиме, що CR є частиною назви файлу, якщо не включено '+', і не зможе знайти «дійсний інтерпретатор» (тобто Kermit) для сценарію. Якщо включено знак +, CR може перешкодити Kermit розпізнати його. Це характеристики оболонки Unix і застосовуються до сценаріїв оболонки, сценаріїв Perl та будь-якого іншого типу сценаріїв, які використовують угоду "shebang" для виклику відповідного інтерпретатора. Щоб видалити символ повернення каретки, використовуйте наступні команди оболонки Unix:
tr -d '\015' < scriptfilename > newfilename
mv newfilename scriptfilename
На платформах, відмінних від UNIX, ці сценарії виконуються:
- Надання Kermit команди TAKE імені файлу . У C-Kermit 7.0 і пізніших версіях за назвою файлу можуть слідувати аргументи, які призначаються змінним \%1 , \%2 , ..., \%9 .
Включаючи ім’я файлу сценарію як перший аргумент командного рядка програми Kermit, а потім знак плюс і аргументи. У VMS і Windows знак «плюс», здається, викликає проблеми з оболонкою, тому в такому випадку ви можете замінити знак рівності, але розмістіть його після імені файлу сценарію, а не перед ним:
kermit script.ksc = arg1 arg2 arg3 ... VMS
k95 script.ksc = arg1 arg2 arg3 ... Windows
- Це призначає arg1 \%1 , arg2 до \%2 , і так далі.
- У Windows 95/98/ME/NT/2000/XP/etc, за асоціацією типу файлу (якщо назва файлу сценарію має суфікс " .ksc "), але в цьому випадку Windows не надає механізму для передачі аргументів у сценарій.
За межами UNIX рядок "kerbang" не має ефекту, оскільки це коментар до Kermit. У VMS будь-які посилання на "змінні середовища" можуть бути задоволені логічними іменами або символами DCL.
Сценарії на цій сторінці призначені лише для ілюстрації та не надають жодних гарантій, явних чи неявних.
СКРІПТ ДЛЯ ЗАВАНТАЖУВАННЯ СЦЕНАРІЇВ
Станом на січень 2014 року доступний новий сценарій, який спрощує завантаження сценаріїв із бібліотеки сценаріїв Kermit та їх інсталяцію на вашому комп’ютері. Він називається getkermitscript , НАТИСНІТЬ ТУТ , щоб побачити його (та завантажити). Ви можете використовувати цей сценарій на комп’ютері під керуванням Unix, на якому встановлено C-Kermit 8.0 або пізнішої версії, щоб завантажувати та інсталювати сценарії Kermit звідси за допомогою однієї простої команди, наприклад «getkermitscript photogallery.ksc». Деякі речі, які слід мати на увазі:
- Усі назви файлів сценаріїв у бібліотеці Kermit написані малими літерами. Сценарій getkermitscript знає про це та пише нижній регістр будь-якого аргументу, який ви могли ввести з великої літери.
- Сценарії в бібліотеці сценаріїв зберігаються без будь-яких розширень, навіть якщо ви можете побачити їх під іменем .ksc .
НАТИСНІТЬ ТУТ , щоб отримати повні інструкції.
НАВЧАЛЬНИЙ ПОСІБНИК
- Щоб ознайомитись із C-Kermit , НАТИСНІТЬ ТУТ .
- Щоб ознайомитися з Kermit 95 , НАТИСНІТЬ ТУТ .
Мова сценаріїв Kermit — це мова програмування, подібна до Perl, але з іншим синтаксисом (оскільки мова Kermit передує Perl та багатьом іншим мовам сценаріїв). Мова Kermit переноситься на UNIX (Linux, AIX, HP-UX, Solaris, FreeBSD, IRIX, SINIX, QNX, SCO, Tru64 та всі інші відомі варіанти UNIX), VMS, Stratus VOS, Data General AOS/VS, Windows 95/98/ME/NT/2000/XP/7/8/10 , OS/2 , Plan 9, OS-9/68000, Commodore Amiga та інші платформи та однаково працює на послідовних з’єднаннях (прямих або набраних) і мережеві з’єднання (відкриті або захищені). Таким чином, вивчення мови є хорошою інвестицією вашого часу, оскільки його можна застосувати майже до будь-якої проблеми спілкування. Мова сценарію Kermit задокументована в книзіВикористовується C-Kermit , але, звісно, з моменту публікації книги було внесено багато покращень, які пояснюються в оновленнях для версії 7.0 , версії 8.0 і версії 9.0 та проілюстровані прикладами сценаріїв, перелічених нижче.
Мову сценаріїв Kermit легко вивчити , якщо ви вже використовуєте Kermit, оскільки вона така сама, як мова команд Kermit . Програма сценарію Kermit — це просто серія команд Kermit, зібраних у файл або макрос. Щоб виконати сценарій, ви говорите Kermit ВЗЯТИ файл або ВИКОНАТИ макрос. Або в UNIX ви також можете виконати його так, ніби це сценарій оболонки, як описано вгорі цієї сторінки . У будь-якому випадку ви можете передати параметри сценарію в команді, яка його викликає.
Під час використання Kermit «вручну» , тобто безпосередньої взаємодії з хостом, ви зазвичай встановлюєте з’єднання (SSH, TELNET, DIAL тощо), а потім безпосередньо взаємодієте з іншим комп’ютером, перемикаючись між екраном команд Kermit і терміналом. екран. Команда для перемикання з екрану команд на екран терміналу — CONNECT (C — достатня абревіатура). Щоб повернутися з екрану терміналу на екран команд, потрібна спеціальна «послідовність виходу», наприклад Ctrl- \ C, Ctrl -] C або Alt-x (Alt-x використовується в Kermit 95 і MS-DOS Kermit). Зауважте, що команда Kermit TELNET є скороченням для SET HOST, за яким слідує CONNECT; тобто TELNET містить неявну команду CONNECT.
Під час автоматизації сеансу ви не перемикаєтесь між «екранами»; ти не ПІДКЛЮЧАЄШся або не втікаєш назад. У сценарії все виконується в командному режимі. У сценарії немає екрана терміналу. Замість CONNECT (або TELNET, або RLOGIN, або SSH) використовуйте наступні команди , які вказують Kermit робити те, що ви робите "вручну":
ВСТАНОВИТИ ХОСТ [ перемикачі ] ім'я хоста або адреса [ перемикачі ]
Відкрийте мережеве підключення, але залишайтеся в командному режимі, тобто без переходу на екран терміналу або в режим ПІДКЛЮЧЕННЯ. Використовуйте цю команду замість TELNET, CONNECT, SSH чи іншої команди, яка відкриватиме екран терміналу. Синонім: OPEN HOST (який може бути більш натякаючим на виконану дію).
Для послідовного або модемного підключення використовуйте:
ВСТАНОВИТИ ТИП МОДЕМА [назва-модему або НЕМАЄ ]
SET LINE назва пристрою
SET SPEED швидкість інтерфейсу
[ НАБІР номера телефону ]
Відкрийте пряме або набране послідовне з'єднання, але залишайтеся в командному режимі. Зауважте, що коли команда DIAL виконується з командного файлу або макросу, вона не переходить автоматично в режим CONNECT.
Команда Керміта DIAL здійснює виклик, надсилаючи відповідні команди модему, зазвичай AT-команди, і читаючи відповіді. Команда SET MODEM TYPE, яка має бути введена перед командою DIAL, повідомляє Kermit, який це тип модему, щоб він знав конкретний набір команд для використання. У C-Kermit і Kermit 95 зазвичай не потрібно створювати сценарій діалогу з модемом; все це вже вбудовано в Kermit. Для отримання додаткової інформації перегляньте посібник або введіть HELP DIAL, HELP SET DIAL і HELP SET MODEM.
Однак якщо вам потрібно створити сценарій такого діалогового вікна, наприклад, щоб надіслати буквено-цифрові сторінки або SMS-повідомлення, ви можете це зробити. Хитрість полягає в тому, що перед виконанням першої команди INPUT або OUTPUT (пояснено нижче), ви повинні сказати Kermit SET CARRIER-WATCH OFF. приклад:
ВСТАНОВИТИ ТИП МОДЕМА НЕ
ВСТАНОВИТИ ЛІНІЮ /dev/ttyS0
ЯКЩО ПОМИЛКА ВИХІД 1 «Пристрій недоступний» ВСТАНОВИТИ
ШВИДКІСТЬ 57600
ВСТАНОВИТИ КЕРУВАННЯ ПОТОКОМ RTS/CTS
ВСТАНОВИТИ ПЕРЕГЛЯД НЕСУЧОЇ ВИМК.
ВИВІД НА\13
ВХІД 3 OK
Введіть HELP SET CARRIER-WATCH для короткого пояснення.
Коли з’єднання відкрито, використовуйте такі команди, щоб імітувати те, що ви робите в інтерактивному режимі:
Рядок очікування INPUT
Зачекайте до тайм-ауту секунд, поки вказаний рядок надійде з іншого комп’ютера. Якщо він надходить, ця команда виконується успішно; інакше команда не виконується. приклад: ВХІД 10 логін: Команда INPUT може приймати не лише прості рядки, а й шаблони . Альтернативна форма, MINPUT, приймає список відповідних рядків і/або шаблонів.
УВІМКНІТЬ ВХІД ЕХО
Зазвичай ви не бачите діалогових вікон зі сценарієм на екрані. Використовуйте цю команду, щоб побачити, що Керміт і хост говорять один одному. Це не впливає на роботу сценарію, лише на те, що ви бачите.
IF FAILURE команда
Якщо попередня команда (SET HOST, INPUT або будь-яка інша команда) не вдалася, виконайте цю команду .
приклад: ЯКЩО ПОМИЛКА ВИХІД 1 "Немає запиту входу" . Команда може бути списком команд, укладених у дужки, а оператор IF також може мати частину ELSE, яка також може бути окремою командою або списком команд .
ЯКЩО УСПІХ команда
Якщо попередня команда виконана успішно, виконайте дану команду .
СТОП [ число [ рядок ] ]
Зупиніть сценарій і поверніться до підказки Kermit. Число є кодом успіху: 0 для успіху, відмінне від нуля для невдачі; команду, яка викликала поточний командний файл (TAKE) або макрос (DO або «приблизне виконання»), можна перевірити за допомогою IF SUCCESS або IF FAILURE на основі цього коду. Якщо рядок включено, він друкується.
КІНЕЦЬ [ число [ рядок ] ]
Подібно до STOP, але стек команд відкривається лише на один рівень, а не повертається до самого верху. Використовуйте це для раннього повернення з макросу або командного файлу до його викликаючого. Синонім: POP.
ВИХІД [ число [ рядок ] ]
Зупиняє сценарій і виходить із Kermit. Число є кодом статусу виходу Kermit, зазвичай 0 для успіху, відмінне від нуля для невдачі. Якщо надсилається повідомлення, воно друкується.
Рядок OUTPUT
Надішліть заданий рядок на інший комп’ютер. Керуючі символи можуть бути включені в рядок за допомогою \ дддпозначення (де d — цифри, а ddd — числовий код керуючого символу .
Приклад: ВИСНОВОК olga\13
Рядок LINEOUT
(C-Kermit 7.0 і пізніших версій; Kermit 95 1.1.20 і пізніших версій) Оскільки дуже часто виводиться рядок із поверненням каретки в кінці, ця команда робить це за вас, тому вам не потрібно пам’ятати про включення \13 на кінці. лінійний вихід фу еквівалентно вихід foo\13 .
INPUT займає місце ваших очей , OUTPUT займає місце ваших пальців , а IF займає місце вашого мозку .
Решта — це звичайне програмування: FOR, WHILE, SWITCH, GOTO, змінні, масиви, функції, структура блоків, вкладення, область видимості та інше, перераховане ТУТ і задокументоване в посібнику (так само, як будь-яка інша мова програмування задокументована у власному посібник).
Ось дуже простий приклад підключення Telnet до UNIX і входу в систему:
встановити хост foo.bar.baz.com ; Здійснити підключення,
якщо не вдалося, зупинити 1 Підключення не вдалося; Перевірте, чи було зроблено
введення 20 логін: ; Зачекайте 20 секунд для входу: запит
, якщо не вдалося зупинити 1 Немає запиту входу; Перевірте, чи вийшов
myuserid\13 ; або "lineout myuserid"
input 5 Пароль: ; Зачекайте 5 секунд на пароль: запит
, якщо не вдається зупинити 1 Немає запиту на пароль; Перевірте, чи виведено
mypassword\13 ; або "lineout mypassword"
Це ілюструє, як ваші дії на екрані терміналу моделюються за допомогою INPUT (очі), OUTPUT (пальці) і IF (мозок). Його можна вдосконалити до будь-якої міри: використовувати змінні замість констант для хоста, імені користувача чи пароля; запитувати пароль, щоб вам не довелося зберігати його у файлі; щоб спробувати виконати якусь дію відновлення, якщо команда вийшла з ладу, замість простої зупинки тощо. І, звісно, ви можете додати більше кроків — передати файл, надіслати електронний лист тощо.
Синтаксис мови програмування Kermit повинен бути знайомий кожному, хто використовує інші мови сценаріїв, такі як оболонка UNIX. Це мова заміни рядка , тому для позначення заміни рядка використовується «екрануючий символ» (зворотна коса риска). Оскільки можна замінити багато типів елементів, після зворотної скісної риски йде другий символ, щоб вказати, який вид заміни потрібно зробити: скалярна змінна, елемент масиву, результат функції, спеціальний символ тощо. приклади:
\%a Скалярна змінна, визначена користувачем, обчислюється рекурсивно
\m( ім'я ) Скалярна змінна, визначена користувачем, оцінена на один рівень
\v( ім'я ) Вбудована змінна (наприклад \v(час) , "показати змінну" для списку)
\&a[1] Елемент масиву, обчислюваний рекурсивно
\f назва ( args ) Виклик функції ("show func" для списку, "help func xxx" для деталей функції xxx)
\x0F Символ, код якого є заданим шістнадцятковим числом ( 00-ff )
\123 Символ, код якого є заданим десятковим числом (0-255)
\\ Буквальний зворотний слеш.
( НАТИСНІТЬ ТУТ для більш детального пояснення цього позначення.)
Це має дати вам уявлення про те, як читати сценарії в бібліотеці та як написати простий сценарій або адаптувати один із них до ваших потреб. Для короткого опису конкретної команди чи функції Kermit використовуйте команду HELP Kermit. Щоб отримати опис вбудованої функції, у запиті введіть «help function xxx», де xxx — ім’я функції. Для ретельного лікування зверніться до посібника .
Зрештою, запам'ятайте:
- Не додавайте команду CONNECT до сценарію, якщо ви дійсно не хочете призупинити виконання сценарію та передати ручне керування користувачеві. І пам'ятайте, що команда CONNECT може працювати, лише якщо завдання має керуючий термінал; він не може працювати в пакетному або хроновому завданні, де немає терміналу.
- Ви не можете розмістити текст для хоста "в рядку". Керміт читає команди зі сценарію, а не текст для хоста. Щоб надіслати текст на хост, використовуйте команду OUTPUT або TRANSMIT.
- Хост TELNET — це ярлик для хосту SET HOST , ЯКЩО УСПІХУ ПІДКЛЮЧИТЬСЯ. Оскільки TELNET містить неявну команду CONNECT, не додавайте команду TELNET у свій сценарій, якщо ви дійсно не хочете призупинити виконання сценарію та передати ручне керування користувачеві. Аналогічно для SSH і RLOGIN. У сценарії замість цього використовуйте SET HOST із відповідними перемикачами (якщо необхідно), щоб вказати тип з’єднання. HELP SET HOST, щоб дізнатися більше.
- Щоб отримати більше прикладів, перегляньте бібліотеку нижче, а також перегляньте тематичні дослідження C-Kermit . Також перегляньте розділ поширених запитань C-Kermit « Чому мій сценарій не працює? ».
Верхній вміст C-Kermit Kermit 95 Kermit Home
БІБЛІОТЕКА СКРІПТІВ KERMIT
Останні доповнення
- Фотогалерея
серпень 2013, з наступними оновленнями. Виробничий сценарій для створення, модифікації та оновлення галерей зображень для Інтернету. Потрібен C-Kermit 9.0 або новішої версії. Це замінює попередній сценарій фотоальбому , який був лише демонстраційним, непридатним для виробництва. - html
Програма, яка перетворює звичайний текстовий файл на веб-сторінку. На відміну від усіх інших представлених тут сценаріїв, цей можна використовувати в конвеєрі Unix. - Нагадування
Проста програма-нагадування, яку можна викликати з вашого профілю входу, або безпосередньо, або будь-яким іншим способом, який ви хочете. Ілюструє деякі функції обробки дати C-Kermit (перетворення формату, порівняння, сортування). Текст довідки ТУТ . - Replacetextblock,
лютий 2014 р. Автоматичний спосіб замінити блок тексту (наприклад, багаторядкове повідомлення про авторські права) у всіх файлах, які його містять. C-Kermit 9.0 або новішої версії. - Getkermitscript,
січень 2014 р. Сценарій Kermit для завантаження сценаріїв Kermit із бібліотеки сценаріїв Kermit і встановлення їх на комп’ютері без необхідності редагувати їх чи вводити будь-які інші команди (раніше завжди потрібно було редагувати «рядок kerbang» і змінювати дозволи ). Наразі тільки Unix. Потрібен C-Kermit 8.0 або новішої версії. Оновлено у 2022 році, щоб уникнути зникнення протоколу FTP з Інтернету. - Jpginfo,
вересень 2013 р. Створює список файлів зображень у форматі JPG, який включає (для кожного файлу) дату зйомки, ширину, висоту, портретну чи альбомну орієнтацію. - Renamejpgs
Квітень 2013. Скрипт для перейменування файлів JPG відповідно до «часу, витраченого» або «часу створення». Це дає змогу зображенням із кількох джерел або з іменами файлів, які «загортаються», відображатися в хронологічному порядку за назвами файлів. Потрібен C-Kermit 9.0.304 . - ilosetup
2009-2011. Робочий сценарій для налаштування серверів HP Blade через їх інтерфейс Integrated Lights Out (iLO). - CBX
Набір сценаріїв для отримання звітів із Rolm CBX. C-Kermit 8.0 або новішої версії або Kermit 95 2.1 або новішої версії. - Ksitemap
Kermit створює карту сайту для веб-сайту на основі простого контрольного файлу, який ви створюєте, вказуючи, які файли та зображення ви хочете включити. Підтримуються розширення Google Image Sitemap. Якщо ваш керуючий файл містить текст, закодований у стандарті ISO 8859-1 або інших часто використовуваних наборах символів, Kermit перетворює його на UTF-8, який потрібен у картах сайту. Задокументовано ТУТ . Потрібен C-Kermit 9.0 . - Веб-журнал
Читає веб-журнал із записами, розділеними табуляцією (TSV) для двомовного іспано-англійського веб-сайту, витягує пошукові запити Google, нормалізує набір символів і великі літери в рядках пошуку, наскільки це можливо, і друкує 20 найпопулярніших пошукових запитів разом із їх кількістю . Задокументовано ТУТ . Потрібен C-Kermit 9.0 . [Станом на жовтень 2011 року цей сценарій є значною мірою академічним, оскільки Google більше не включає пошуковий текст у свої параметри URL.] - ifdef
Простий скрипт для перевірки структури #if/#ifdef/#ifndef..#endif у файлі вихідного коду C. - ifdef2
Подібно ifdef, але також показує #define і #undef. - Макрос cmp
для порівняння двох чисел будь-якої довжини, цілих чи з плаваючою комою, зі знаком чи без знаку, навіть якщо вони довші за розмір слова базової машини. Потрібен C-Kermit 8.0 або новішої версії або K95 2.0 або новішої версії. - twoscomplementv3
Макроси для перетворення рядків десяткових чисел зі знаком у шістнадцятковий формат доповнення двох і навпаки. Виконує власну рядкову арифметику, тому не обмежений розміром машинного слова чи моделлю пам’яті. Як написано, може обробляти цілі числа до 128 біт. Очевидно, що він працює повільніше, ніж twoscomplementv1 , який використовує машинну арифметику. Потрібен C-Kermit 8.0 або новішої версії або K95 2.0 або новішої версії. ( Сценарій twoscomplementv2 конвертований лише в одному напрямку, ця версія включає обидва напрямки.) - twoscomplementv1
Сценарій для перетворення рядків десяткових чисел зі знаком у формат доповнення двох і відображення їх у шістнадцятковому форматі. Використовує машинну арифметику, тому результати обмежені розміром основного слова та моделлю пам’яті (наприклад, 32 біти). Потрібен C-Kermit 8.0 або новішої версії або K95 2.0 або новішої версії. - CGI-сценарій опитування
для обробки веб-форми (в даному випадку опитування ). - webindex
Створює веб-індекс із FTP-сайту Kermit, тисячі файлів перетворюються на посилання, які можна натиснути. Потрібен C-Kermit 9.0 або новішої версії. - pop.ksc Повністю розроблений робочий сценарій для отримання електронної пошти з сервера POP3 через з’єднання, захищене SSL. Щоб отримати пояснення та документацію, НАТИСНІТЬ ТУТ . Потрібен C-Kermit 9.0 або новішої версії. Я використовував цей (і наступний сценарій, mailcheck) сам, щоб отримувати свою електронну пошту цілий день щодня, доки Columbia не перейшла з традиційної пошти Unix на Gmail.
- mailcheck Обгортка для сценарію pop.ksc , який збирає ваш пароль один раз, а потім перевіряє наявність нової пошти кожні 5 хвилин (або інший вибраний інтервал) і отримує її, якщо така є.
Скрипти FTP:
Станом на 2022 рік у більшості випадків вони більше не корисні, оскільки протокол FTP і сервери видалено з Інтернету.
- Вступ до створення сценаріїв FTP.
Як автоматизувати сеанси FTP за допомогою C-Kermit 8.0 і Kermit 95 2.0 або пізнішої версії. Сам FTP вийшов із моди, і це шкода, але в деяких місцях все ще є FTP-сервери, до яких можна отримати доступ із FTP-клієнта текстового режиму (але не з веб-браузера, як-от Chrome або Firefox). - ibm_infoexchange
Встановлює безпечне FTP-з'єднання з IBM InfoExchange. Потрібназахищена версія Kermit 95 2.0 (або новіша) або C-Kermit 8.0 (або новіша). - ftprename
Multiple Rename: показує, як перейменувати список файлів на сервері FTP. Потрібен Kermit 95 2.0 (або новіша версія) або C-Kermit 8.0 (або новіша версія). - ftpdirectory(*)
Як отримати список каталогів із FTP-сервера, який показує повну позначку часу для кожного файлу. Потрібен Kermit 95 2.0 або C-Kermit 8.0 (або новішої версії). - usend
Показує, як надіслати файл на сервер FTP із гарантованим унікальним іменем, навіть якщо сервер не підтримує STOU. Потрібен Kermit 95 2.0 (або новіша версія) або C-Kermit 8.0 (або новіша версія). - rawhide
Щоденне завантаження нових RPM із сервера Red Hat Linux Rawhide. Kermit 95 2.0 (або новіша версія) або C-Kermit 8.0 (або новіша версія). - ftpsyncdown
Використовує FTP для синхронізації локального каталогу з каталогом віддаленого сервера. Завантажує нові та змінені файли, пропускає файли, які не змінювалися, видаляє локальні файли, які не мають аналогів на сервері. Працює на різних платформах (клієнт Windows або Unix; Unix, VMS, Windows або будь-який інший сервер); Перемикання текстово-двійкового режиму обробляється автоматично. Kermit 95 2.0 (або новіша версія) або C-Kermit 8.0 (або новіша версія). - ftpsyncup
Використовує FTP для синхронізації дерева каталогів віддаленого сервера з деревом локальних каталогів. Дерево локальних каталогів дублюється на сервері. Завантажує нові та змінені файли, пропускає файли, які не змінювалися. Працює на різних платформах за допомогою автоматичного перемикання текстового та двійкового режимів. Kermit 95 2.0 (або новіша версія) або C-Kermit 8.0 (або новіша версія).
Інші інтернет-скрипти:
- kwhois
Простий одноетапний WHOIS, інтерфейс звичайної утиліти whois для пошуку будь-якого домену за один крок, а не за два. - віддалений доступ.
Як представити командно-орієнтований інтерфейс користувачам, які отримують доступ до Kermit безпосередньо ззовні: комутований доступ (ANSWER), Інтернет (SET HOST *) або навіть Kermit працює як служба в inetd. У таких ситуаціях немає термінального драйвера, тому Керміт повинен самостійно обробляти ехо та редагувати, а також розбирати команди та виконувати їх. У цьому прикладі реалізовано простий "BBS", де користувач може отримати списки файлів і завантажити файли. Працює з будь-якою останньою версією C-Kermit або Kermit 95. - skermit(*)
Клієнт для підсистеми SSH передачі та керування файлами C-Kermit: потужніша, зручніша альтернатива SFTP із можливістю сценаріїв. НАТИСНІТЬ ТУТ для документації. Потрібен C-Kermit 8.0.201 або K95 2.0 (або новішої версії). - autossh(*)
Проводить автоматичний сеанс SSH. Потрібен C-Kermit 8.0 або K95 2.0 або новішої версії. - autotelnet(*)
Встановлює автоматичне підключення Telnet. Потрібен C-Kermit 7.0 або K95 1.1.19 або новішої версії. Telnet практично зник з лиця землі, хоча він значно перевершує SSH. Були створені захищені версії Telnet, але ними ніхто не користується, і тепер вони теж зникли. «Погане виганяє добро». - autotelnet6(*)
Встановлює автоматичне підключення Telnet. Те саме, що "autotelnet", але не використовує жодних нових функцій C-Kermit 7.0. Потрібен C-Kermit 6.0 або K95 1.1.13 або новішої версії. - portlog(виявлення вторгнень)
Нешкідливо поглинає та реєструє атаки на TCP-порт 80, такі як Code Red і Nimda. Скидається щогодини, у цей час він також (a) завантажує годинний журнал на вибраний сайт FTP; (b) надсилає резюме електронною поштою на вибрану адресу. Він може слухати TCP-порт 80 або будь-який інший бажаний TCP-порт. Чудово працює на порту 80 із Code Red, Code Red II і Nimda. Потрібно: C-Kermit 8.0 . - pop3(*)
Отримує електронну пошту з сервера POP3. Потрібен C-Kermit 7.0 . Автор Марк Сапіро. Також перегляньте новіший безпечний сценарій POP3 . - netedit
Редагує віддалений файл за допомогою редактора локального комп'ютера. Потрібен C-Kermit 7.0 або K95 1.1.19 . - iksget(*)
Отримує файл або файли з Інтернет-сервера Kermit. Потрібен C-Kermit 7.0 . У C-Kermit 8.0 або K95 2.x, які підтримуються, сценарії не потрібні kermit:// URL-адреси в командному рядку (а також URL-адреси FTP, HTTP та Telnet). - iksdpy(*)
Монітор відображення демона служби Internet Kermit у реальному часі. Потрібен C-Kermit 7.0 або K95 2.0 або новішої версії. - timestamp(*)
Додає часові позначки до відображення системного журналу Telnet. Потрібен C-Kermit 7.0 або K95 1.1.19 . Примітка: C-Kermit 8.0 і Kermit 95 2.0 і пізніших версій мають вбудовану опцію для журналів сеансів із мітками часу . - linksys(*)
Використовується з маршрутизатором Linksys Ethernet Cable/DSL для отримання IP-адреси для використання з автентифікацією Kerberos 5, коли ввімкнено трансляцію мережевих адрес (NAT). Потрібен C-Kermit 8.0 .
Скрипти журналювання:
- logport
Реєструє дані, що надходять до послідовного порту. Зручно для реєстрації записів викликів АТС, повідомлень на портах керування маршрутизаторів тощо. Потрібен C-Kermit 8.0.211 або новішої версії. - daily-session-log
Реєструє вхідні дані щодо будь-якого типу з’єднання (припускається, що з’єднання відкрито). Розробка сценарію logport, який автоматично обертає файл журналу щодня опівночі. Має працювати з будь-якою останньою версією K95 або C-Kermit.
Сценарії модему:
- autodial
Це базовий сценарій автоматичного набору та входу в систему. Встановлює параметри модему та зв’язку, набирає номер, за бажанням проводить переговори через сервер терміналів, а потім здійснює вхід на хост Unix. Має працювати з будь-якою версією C-Kermit або Kermit 95. - getline(*)
За наявності списку послідовних пристроїв, які можна використовувати для дозвону, знаходить і призначає перший вільний. Потрібен C-Kermit 7.0 або K95 1.1.19 або новішої версії. - mpservers
Отримавши список серверів пулу модемів TCP/IP, збирає перепис використовуваних і вільних портів, надсилаючи їм команди «пальця» та накопичуючи результати як для кожного сервера, так і для кожного номера телефону, а також кумулятивний. Працює в UNIX. Потрібен C-Kermit 8.0 . - callstats
Отримавши список телефонних номерів пулу модемів, здійснює повторні дзвінки до кожного з них і записує результати кожного дзвінка (ЗАЙНЯТО, ПІДКЛЮЧЕННЯ 48000 тощо) за датою та часом у форматі, придатному для статистичного аналізу. Працює в UNIX, Windows 95/98/ME/NT/2000/XP або VMS. Потрібен C-Kermit 7.0 або K95 1.1.19 або новішої версії. - modemtest2(*)
Маючи список телефонних номерів пулу модемів, виконує повторні виклики до кожного з них; реєструється на вказаному хості, передає файли вперед і назад і зберігає файл журналу з’єднання та статистики продуктивності. Працює в UNIX, Windows 9x/ME/NT/2000/XP або VMS. Потрібна C-Kermit 8.0 або Kermit 95 2.0 або пізнішої версії. НАТИСНІТЬ ТУТ, щоб отримати попередню версію, яка працює з C-Kermit 7.0 і K95 1.1.19. - dialout(*)
Розміщує форму для заповнення користувачем, щоб вибрати тип модему, порт, швидкість і номер телефону, а потім набирає номер за командою користувача. Потрібен C-Kermit 7.0 або K95 1.1.19 або новішої версії. Примітка: це також сценарій форматування екрана . - callbycall
Сценарій набору номера, який вибирає найбільш підходящого постачальника міжміських послуг за часом доби, а також циклічно перемикається між постачальниками за сигналами зайнятості (якщо сам постачальник зайнятий, а не номер призначення). Для використання з SET DIAL MACRO. Пітер Айххорн, Assyst GmbH , Мюнхен. Потрібен C-Kermit 7.0 або K95 1.1.19 .
Сценарії пейджера:
- numpage(*)
Скрипт для біперів або числових пейджерів. Потрібен C-Kermit 7.0 або K95 1.1.19 або новішої версії. - alphapage(*)
TAP/IXO алфавітно-цифровий сценарій підкачки (ОНОВЛЕНО березня 2003 р.). Потрібен C-Kermit 8.0 або K95 2.0 або новішої версії. - alphapage6
TAP/IXO алфавітно-цифровий сценарій підкачки, який може використовуватися C-Kermit 6.0 або K95 1.1.13 або новішої версії. - malphapage(*)
Алфавітно-цифровий сценарій підкачки TAP/IXO, модифікований RM Almeria для надсилання серії сторінок, а не однієї. Потрібен C-Kermit 8.0 або K95 2.0 або новішої версії. - Детальніше про пейджери
Сценарії форматування екрана:
- bottom(*)
Простий однорядковий скрипт, який використовує C-Kermit для розміщення курсору в нижньому рядку екрана. Потрібен C-Kermit 7.0 або K95 1.1.19 . - меню(*)
Скелет програми меню. Потрібен C-Kermit 7.0 або K95 1.1.19 . - Також перегляньте сценарій діалогу , який використовує техніку малювання екрана.
Сценарії сканування екрана:
- scrape
У Kermit 95 сценарії можуть взаємодіяти з емулятором терміналу, щоб отримати рядки з указаних місць на екрані терміналу, подібно до HLLAPI. У цьому сценарії екранні форми аналізуються для вибору та отримання зображень із бази даних на головному комп’ютері. Макс Евартс. Потрібен K95 1.1.17 або новішої версії.
Скрипти передачі файлів:
- vmscapture
Захоплення текстового файлу з хосту VMS без протоколу передачі файлів Kermit. - доставити(*)
Сценарій, який доставляє вказаний файл або файли до місця призначення, навіть якщо з’єднання розірвано під час передачі. Потрібен C-Kermit 6.0 або K95 1.1.8 або новішої версії. - synchronize(*)
Сценарій, який синхронізує дерева каталогів на двох хостах Інтернету через підключення Telnet. Передаються лише ті файли, які є новішими на джерелі, ніж на місці призначення. Каталоги створюються автоматично за потреби в місці призначення. Файли, які зникли з джерела, видаляються в місці призначення. Можна обробляти будь-яку суміш текстових і бінарних файлів. Два хости не обов’язково мають однакову операційну або файлову систему. З хостом призначення зв’язується та входить до системи автоматично (тому це також є сценарієм Інтернету ); тому вся операція може виконуватися без нагляду. Потрібен C-Kermit 7.0 або K95 1.1.19 .
Скрипти керування файлами:
- concatenate
Об'єднує всі файли в поточному каталозі в один великий файл. Корисно (наприклад) після завантаження купи файлів транзакцій EDI, які потрібно об’єднати, щоб комп’ютер міг обробити їх усі одночасно. - rgrep(*)
Відповідає на поширене запитання: "Де рекурсивний grep?" Шукає файли в дереві каталогів, імена яких відповідають заданому шаблону, і друкує всі рядки в усіх файлах, які відповідають заданому шаблону. Потрібен C-Kermit 7.0 або K95 1.1.19 . Примітка. У C-Kermit 8.0 сценарій більше не потрібен, оскільки GREP (включаючи рекурсивний параметр) є вбудованою командою. - rename(*)
Однорядковий аналог оболонки UNIX " для i в *; робити бла ; зроблено " цикл. Потрібен C-Kermit 7.0 або K95 1.1.19 . Ця функція вбудована в C-Kermit, починаючи з версії 8.0.211; НАТИСНІТЬ ТУТ, щоб отримати документацію щодо розширеної команди RENAME. - changetype(*)
Розробка сценарію перейменування на універсальний тип файлу; старий і новий типи файлів і список файлів надаються як аргументи командного рядка, наприклад " змінити тип допомога txt * " перейменовує *.hlp файли до *.txt . Потрібен C-Kermit 7.0 або K95 1.1.19 . Ця функція також вбудована в C-Kermit починаючи з версії 8.0.211; НАТИСНІТЬ ТУТ , щоб дізнатися більше. - delete(*)
Відповідає на поширене запитання «Як видалити файли, яким більше n днів?». Потрібен C-Kermit 7.0 або K95 1.1.19 . - перегляд(*)
Інтерактивний перегляд файлів. Усе, що ви коли-небудь хотіли, у файловому браузері текстового режиму. Потрібен C-Kermit 7.0 або K95 1.1.19 . - logrotate
Щомісяця обертає журнали підключень. Потрібен C-Kermit 7.0 або K95 1.1.19 . - cleandups(*)
Досить складна програма для керування файлами (фактично використовується для керування оновленням і встановленням бінарних файлів бета-тесту C-Kermit 7.0 на нашому ftp-сервері). Потрібен C-Kermit 7.0 . - install(*)
Переміщує нові двійкові файли бета-тестів C-Kermit із проміжної області на ftp-сайт, видаляючи відповідні двійкові файли з попередніх бета-тестів по ходу, щоб не заповнювати диск сервера ftp. Потрібен C-Kermit 7.0 . - merge(*)
Об’єднує будь-яку кількість попередньо відсортованих файлів в один вихідний файл. Ілюструє пакет файлового введення/виведення C-Kermit, що працює з кількома файлами одночасно. Потрібен C-Kermit 7.0 . - ftplog(*)
Аналізує журнал передавання файлів у форматі wu-ftpd, який також створюється у форматі FTP SET TRANSACTION-LOG C-Kermit. Перелічує п’ять найпопулярніших файлів, а також друкує гістограму кількості файлів за кількістю звернень. Ілюструє асоціативні масиви. Потрібен C-Kermit 7.0 .
Скрипти обробки чисел:
- статистика(*)
Дано файл, у якому кожен рядок містить пару чисел, X та Y, обчислює та друкує максимальне, мінімальне, середнє значення, дисперсію та стандартне відхилення X та Y, а також коефіцієнт кореляції X та Y. Числа у файлі можуть (але не обов’язково) мати десяткові коми та дробові частини. Ілюструє арифметичні функції з плаваючою комою, представлені в C-Kermit 7.0. - xstats(*)
Як і статистика , за винятком того, що реалізовано (набагато простіше) за допомогою S-виразів C-Kermit 8.0 .
Арифметика дати й часу:
- easter(*)
Обчислює дату Великодня для будь-якого року між 1900 і 2099 за допомогою S-виразів. Потрібен C-Kermit 7.0 або новішої версії або K95 1.1.20 або новішої версії. - easter2(*)
Те саме, що й попередній, за винятком того, що в C-Kermit 8.0.212 використовується нова функція , яка примусово використовує цілочисельну арифметику, необхідну для цього типу обчислень. - calendar(*)
Як Unix 'cal' - друкує календар для будь-якого місяця в будь-якому році між 1859 і 9999. Потрібен C-Kermit 8.0 або новішої версії або K95 2.0 або новішої версії. - deleteold
Як видалити файли, старші за вказаний вік, у налаштуваннях клієнт/сервер.
Файли ініціалізації C-Kermit
- kermrc
Колись стандартний файл ініціалізації C-Kermit. Містить визначення для каталогу служб із макросами автоматичного входу для різних платформ і методів зв’язку. Це більше демонстрація мови сценаріїв, ніж практичне використання. - mykermrc
Зразок файлу налаштування C-Kermit. Потрібен C-Kermit 6.0 або новішої версії.
Розширення протоколу Kermit:
- rmsg
Реалізація макросу (відсутня) команда REMOTE MESSAGE для C-Kermit 8.0 і Kermit 95 2.0 або новіших версій.
Ключові карти:
- koikeys
Встановлює «позвукову» клавіатуру для кириличних літер для використання в режимі російської клавіатури в Kermit 95 . Це дозволяє людям, які мають QWERTY-клавіатури, "вводити" кирилицю (кириличні літери збігаються з латиницею, яка має "той самий звук", більш-менш). У звичайному режимі російської клавіатури використовується стандартна кирилична розкладка клавіатури, незнайома друкаркам QWERTY. Будь-яка версія Kermit 95 приблизно до 1.1.8 може використовувати цю схему ключів. Щоб переглянути версію цього файлу сценарію, який також показує кириличну версію кожного символу, клацніть тут , але вам, можливо, доведеться повідомити своєму веб-переглядачу, що кодування тексту — utf-8 (хоча це має бути стандартним і бажаним кодуванням для текст у мережі). І НАТИСНІТЬ ТУТдля HTML-версії з правильними кириличними символами, які можна друкувати на одній сторінці. - ar-medicare
Керміт 95 карта ключів необхідна для доступу до медичного закладу штату Арканзас.
Скрипти HTML
- html
Перетворює звичайний текстовий файл на HTML. Повністю переписаний для виробничого використання в 2017 році.
Об'єктно-орієнтоване програмування:
(Та інші техніки творчого програмування.) Цей розділ автора Дат Тук Нгуєна .
- cheetah
Програмування на основі правил у Kermit: Animal Taxonomy. Потрібен C-Kermit 8.0 або Kermit 95 2.0 або новішої версії, а також модуль механізму правил . - база
правил Програмування на основі правил у Kermit. Потрібен C-Kermit 8.0 або Kermit 95 2.0 або новішої версії. - авторемонт
Демонстрація «бази правил». Потрібен C-Kermit 8.0 або Kermit 95 2.0 або новішої версії. - socrates
Пролог-подібне декларативне логічне програмування в Kermit. Потрібен C-Kermit 8.0 або Kermit 95 2.0 або новішої версії. - симетричні
моделі та предикати. Потрібен C-Kermit 8.0 або Kermit 95 2.0 або новішої версії. - симуляція
Симуляція магазину морозива: прибуття клієнтів, замовлення клієнтів, від’їзд клієнтів, усе запрограмоване як об’єкти. Потрібен макрос класу, визначений ТУТ , і C-Kermit 8.0 або Kermit 95 2.0 або новішої версії. - dining-philosophers
Проблема Dining Philosophers: семафор, процес, таймер і паралелізм. Потрібен макрос класу, визначений ТУТ , і C-Kermit 8.0 або Kermit 95 2.0 або новішої версії. - dining-drinking-philosophers
Проблема Dining Philosophers, з вином! - permute (*)
Рекурсивна перестановка рядка. Потрібна C-Kermit 8.0 або Kermit 95 2.0 або пізнішої версії. - shortest_path
Знайти найкоротший шлях через мережу. Ілюструє S-вирази та функції. Потрібна C-Kermit 8.0 або Kermit 95 2.0 або пізнішої версії. - Фібоначчі
Рекурсивні та ітераційні функції Фібоначчі. Ілюструє S-вирази та функції. Потрібна C-Kermit 8.0 або Kermit 95 2.0 або пізнішої версії. - makechange
Скільки способів поміняти долар? Ілюструє S-вирази та функції. Потрібна C-Kermit 8.0 або Kermit 95 2.0 або пізнішої версії. - the8queens
Проблема 8 королев. Ілюструє масиви, S-вирази, складені булеві вирази. Потрібна C-Kermit 8.0 або Kermit 95 2.0 або пізнішої версії. - прибутковий_податок
Розрахунок податку на прибуток. Ілюструє S-вирази, арифметику з плаваючою комою. Потрібен C-Kermit 8.0 . - ханой
Ханойські вежі. Ілюструє S-вирази, рекурсію. Потрібен C-Kermit 8.0 . - hanoi2
Швидша версія Ханойських веж. Ілюструє, як прискорити рекурсивні функції. Потрібен C-Kermit 8.0 . - клас
Розміщує об’єктно-орієнтоване програмування в C-Kermit 8.0, він використовує деякі функції S-Expression. Потрібен C-Kermit 8.0 .
account
Демонстрація програми, яка використовує той самий приклад, що більшість діалектів Smalltalk використовують як вступ до об’єктно-орієнтованого програмування. Щоб запустити цю демонстрацію:
C-Kermit> прийняти клас
C-Kermit> взяти до уваги
- Потрібен C-Kermit 8.0 .
- shortcircuit
Коротке замикання послідовного виконання макросів (a) під час успішного виконання всіх, (b) до успішного виконання одного з них. Потрібен C-Kermit 7.0 або K95 1.1.19 . - lispops
Цей невеликий пакет визначає серію LISP-подібних арифметичних операторів для C-Kermit і Kermit 95. Потрібен C-Kermit 7.0 або K95 1.1.19 (застаріло через вбудований синтаксис LISP C-Kermit 8.0 ). - матриця
Матриця є важливим елементом у багатьох областях обчислювальної техніки. C-Kermit і Kermit 95 можуть легко виконувати матричні операції. Цей сценарій створює дві матриці, A і B, а потім обчислює їх суму: матриця C. - noswitch
"SWITCH вважається шкідливим" - oop
Об'єктно-орієнтоване програмування в C-Kermit і Kermit 95. Розваги з собаками та котами. - комплекс
Комплексні числа не є вбудованим типом багатьох мов програмування. Тут на допомогу приходить ООП із типом, визначеним користувачем. Цей сценарій визначає клас комплексних чисел у C-Kermit, пропонуючи знайомий інтерфейс C++. Потрібен C-Kermit 7.0. - wordcount(*)
Підрахунок частоти слів є Excel мов сценаріїв, таких як awk і Perl. З ООП C-Kermit також зручно справляється із завданням. Цей сценарій визначає та використовує клас Words для підрахунку повторів унікальних слів у текстовому файлі простого тексту. Клас Words захищає деталі реалізації та сприяє повторному використанню, флагману ООП. Потрібен C-Kermit 7.0. - успадкування
Жодна об'єктно-орієнтована мова програмування не залишиться без успадкування. Цей сценарій відображає успадкування в C-Kermit і Kermit 95. - множинне
множинне успадкування збагачує дизайн програмного забезпечення. Не всі ООП мови мають його: C++ має; Java і Smalltalk ні. Цей скрипт реалізує множинне успадкування в C-Kermit. Знаменитий клас тварин, знайдений у багатьох посиланнях на C++ і Smalltalk, використовується для представлення теми. - bag
Контейнерє ключовим поняттям в об'єктно-орієнтованому програмуванні . Smalltalk, C++ тощо мають стандартні бібліотеки контейнерів. Цей сценарій визначає клас «сумка» у C-Kermit/Kermit 95. Сумка пропонує багатий інтерфейс використання. - string
Рудиментарний клас рядків на основі моделі Smalltalk. - semaphore
Ми використовуємо семафори для координації обчислювальних завдань, спільного використання ресурсів тощо. Цей сценарій визначає класи семафорів у стилях Smalltalk і C++. Потрібен C-Kermit 6.0 / K95 1.1.17. - singleton
У спільноті шаблонів singleton — це клас, який може мати лише один екземпляр. Усі об’єкти, створені з цього класу, відносяться до одного єдиного елемента! Синглтон дуже корисний, коли є лише один доступний ресурс і різні визначені користувачем функції отримують доступ до цього ресурсу за різними посиланнями. Клас singleton гарантує, що один і тільки один об’єкт може бути створений з нього, хоча під різними іменами. - state
Скінченний автомат є корисною концепцією в багатьох програмах. Цей сценарій пропонує основу для кінцевої машини.
Тести тортур на мові сценарію:
- demo(*)
Інтерактивний "тест на тортури" для мови сценаріїв C-Kermit. Потрібен C-Kermit 7.0 або K95 1.1.19 . - iftest(*)
Тренажер для складених булевих виразів. Потрібен C-Kermit 7.0 або K95 1.1.19 . - функції(*)
Тренажер функцій. Потрібен C-Kermit 7.0 або K95 1.1.19 . - localarray(*)
Локальний масив. Потрібен C-Kermit 7.0 або K95 1.1.19 . - dates
Exerciser для форматів дати, часу та арифметики. Потрібен C-Kermit 7.0 або новішої версії. Сценарій оновлено 26 квітня 2020 року. - sexp
Exerciser для S-виразів і арифметики з плаваючою комою. Потрібен C-Kermit 8.0 або K95 2.0 .
Посилання:
- Бібліотека скриптів MS-DOS Kermit
- Довідник щодо переносимості сценарію Kermit
- Бібліотека сценаріїв Kermit (вгорі)
- Домашня сторінка Керміта
- С-Керміт
- C-Kermit інструкція
- Примітки до оновлення C-Kermit 7.0
- Примітки до оновлення C-Kermit 8.0
- Примітки до оновлення C-Kermit 9.0
- Керміт 95
- Режим Kermit EMACS
- Тематичні дослідження