C-Kermit / Kermit 95 Scripting Tutorial und Bibliothek

Source: https://kermitproject.org/ckscripts.html

AKTUELLE SKRIPTE (Details unten )

  1. Konten
    Juli 2023. Für Rentner in Mehrfamilienhäusern: Verfolgen Sie Ihr Einkommen im Vergleich zu Ihrer Miete Jahr für Jahr; Sehen Sie, welches schneller steigt. Veranschaulicht, wie tabellarische Daten in das Skript selbst eingebettet werden, anstatt sie aus einer externen Datei zu lesen; wie man eine Tabellenzeile in ihre Elemente aufteilt; die gleichzeitige Verwendung mehrerer assoziativer Arrays; wie man assoziative Array-Elemente symbolisch anspricht; und die Verwendung von S-Ausdrücken, wenn Gleitkommaergebnisse benötigt werden (in diesem Fall Prozentsätze).
  2. ckubuildlog
    Juni 2023. Erstellt einen Eintrag für die Build-Tabelle von C-Kermit 10.0 , der nach der Erstellung einer Beta-Testversion oder der echten 10.0-Version verwendet werden soll, wenn diese fertig ist. Derzeit nur Betriebssysteme der Unix-Familie.
  3. findmissinghtml
    März 2023. Für Websites: Findet fehlende Seiten, die Emacs-Sicherungsdateien haben. Wenn Sie also die echte Seite nirgendwo finden, können Sie sie zumindest aus der neuesten Sicherung wiederherstellen.
  4. k95relay
    April 2022. Kermit 95-Skript für die Anmeldung bei einem Host, dessen SSH-Server keine der Verschlüsselungen unterstützt, die der SSH-Client von K95 unter Verwendung eines Linux-Hosts oder -Subsystems als Relay durchführt. Wird nicht mehr benötigt, da C-Kermit 10.0 für Windows verfügbar ist .
  5. Fixfilelists
    Mai 2021. Konvertieren Sie die Kermit-Archivseite , um weiterhin Dateilisten anzuzeigen, nachdem Links von ftp: in http: konvertiert wurden, da FTP von den wichtigsten Webbrowsern im März-April 2021 „veraltet“ wurde. Im Grunde erstellt dieses Skript die Dateinamen in einer Verzeichnisliste anklickbar, sodass Sie sie ansehen oder herunterladen können.
  6. Fotogalerie
    2013-2023 (aktives Projekt). Ein Produktionsskript zum Erstellen, Ändern und Aktualisieren von Bildergalerien im Web.
  7. html
    Mai 2017. Konvertiert Nur-Text-Dateien in HTML. Dies ist auch das erste Kermit-Skript, das in Unix-Pipelines verwendet werden kann.
  8. Remind
    2016. Ein einfaches Erinnerungsprogramm, das über Ihr Anmeldeprofil aufgerufen werden kann.
  9. Getkermitscript
    2014. Automatisierter Download und Installation von Skripten aus der Kermit-Skriptbibliothek. Im Jahr 2022 aktualisiert, um der „Veraltung“ des FTP-Protokolls zum Herunterladen zu „entsprechen“.
  10. Removetextblock
    2014. Eine automatisierte Methode zum Ersetzen eines Textblocks (z. B. eines mehrzeiligen Copyright-Hinweises) in allen Dateien, die ihn enthalten.
  11. Jpginfo
    2013. Erstellt eine Verzeichnisliste der JPG-Bilddateien mit Aufnahmedatum, Breite, Höhe und ob es sich um Hoch- oder Querformat handelt.
  12. Renamejpgs
    2013. Ein Skript zum Umbenennen von JPG-Dateien (z. B. von Kameras, Scannern oder Mobiltelefonen) nach „Zeitaufwand“ oder „Erstellungszeit“. Eine Reihe von Bildern von verschiedenen Geräten können in der Reihenfolge von Datum und Uhrzeit umbenannt werden.

VORWORT

Während ich dies schreibe, wissen immer weniger Menschen, was Kermit ist; Wenn das auf Sie zutrifft, können Sie hier für eine Übersicht klicken. Kermits Blütezeit war in den 1980er und 90er Jahren, als fast jeder, der Computer zur Kommunikation mit anderen Computern nutzte, Kermit als Terminalemulator und zur Dateiübertragung nutzte. C-Kermit für Unix und VMS und MS-DOS Kermit für DOS wurden gemeinsam entwickelt. Als wir begannen, Automatisierungsfunktionen hinzuzufügen, war die Skriptsprache für beide Programme gleich. Als Kermit 95 für Windows herauskam, verfügte es über dieselbe Skriptsprache, da es auf C-Kermit aufbaute.

Anfangs war die Skriptsprache auf Kommunikations- und Dateiübertragungsaufgaben ausgerichtet, aber im Laufe der Zeit hat sie sich zu einer universellen Programmiersprache entwickelt, die irgendwo zwischen Shell-Skripten und Perl angesiedelt ist, mit Teilen von Unix-Shell-Skripten, C , Bliss und Lisp , Snobol , Algol und PL/I gemischt, mit Schleifen, Variablen, Arrays, Funktionen, arithmetischen, assoziativen Arrays, Rekursion, boolescher Logik, String-Manipulation, Datei-E/A und -Verwaltung, Mustervergleich, Listenverarbeitung und so weiter .

Heutzutage können Sie Kermit-Skriptprogramme schreiben, um fast alles zu tun, unabhängig davon, ob es um Kommunikation geht oder nicht (und wenn es um Kommunikation geht, dann über serielle Verbindungen, Klartext-Netzwerkverbindungen oder sichere Netzwerkverbindungen). Kermits Hauptanwendungsgebiete sind jetzt die System- und Website-Administration sowie die Website-Entwicklung, und Sie können unten viele Beispiele für Produktionsskripte in diesen Bereichen sehen.

Was mich selbst betrifft, da ich seit Mitte der 1960er Jahre programmiert habe, beherrsche ich viele Programmiersprachen fließend und ich wünschte, alle außer C wären nicht ausgestorben (PL/I, Snobol und Mainsail werden schmerzlich vermisst; sie waren leistungsstark, stabil, konsistent und gut dokumentiert). Die heutigen Optionen (C, Shell-Skripte usw.) sind bewegliche Ziele; Programme, die in dieser Sprache geschrieben sind, bleiben nicht geschrieben ; Sie verfallen im Laufe der Zeit, da die Sprachen und die zugehörigen Bibliotheken und Dienstprogramme ständig neu definiert werden. Deshalb schreibe ich jetzt alle meine Programme (außer natürlich C-Kermit selbst) in der Kermit-Sprache ... Weil sich die Sprache selbst nicht ändertauf abwärtsinkompatible Weise, so dass „alte“ Skripte nie „aktualisiert“ werden müssen, sondern einfach weiter funktionieren, auch wenn neue Versionen von Kermit selbst veröffentlicht werden. Und auch, weil ich jedes Mal, wenn es einen Fehler in der Sprache gibt, ihn selbst beheben kann, und wenn ich etwas tun muss, das nicht in der Sprache enthalten ist, kann ich ihn selbst hinzufügen. Immer abwärtskompatibel.

Bisher gibt es kein zusammenhängendes Handbuch für die Kermit-Sprache. Alles ist irgendwo dokumentiert, aber es ist über Bücher (die jetzt online sind ) und eine Reihe von Webseiten verstreut . Im Juli 2019 habe ich einen umfassenden Leitfaden mit allen Informationen zusammengestellt. Es ist wie ein Inhaltsverzeichnis ; HIER IST ES . In der Zwischenzeit ist diese Seite (die, die Sie gerade lesen) ein ziemlich guter Ausgangspunkt: Suchen Sie ein Skript, das etwas Ähnliches tut, wie Sie es tun möchten, und verwenden Sie es als Leitfaden. Und wenn Sie einen Befehl oder eine Funktion sehen, die Sie nicht verstehen, verwenden Sie den integrierten HELP-Befehl von C-Kermit, um mehr darüber herauszufinden:

helfen ?

Zeigt die Hilfethemen an

Hilfebefehl _

Gibt Informationen zum angegebenen Befehl

Hilfe beim Festlegen des Befehls

Gibt Informationen über den angegebenen SET-Befehl

Name der Hilfefunktion

Gibt Informationen über die angegebene integrierte Funktion.

Nutzen Sie auch den Google-Suchdialog auf der Startseite und probieren Sie das neue „ Inhaltsverzeichnis “ aus.

—Frank da Cruz, Maifeiertag 2017, aktualisiert am 29. August 2019.

EINFÜHRUNG

Die Befehls- und Skriptsprache von C-Kermit und Kermit 95 wird in „ Using C-Kermit“ , 2. Auflage, beschrieben, ergänzt durch die C-Kermit 7.0-Ergänzung , die C-Kermit 8.0-Ergänzung und die C-Kermit 9.0-Ergänzung . Übersichten und Tutorials zu Kermit im Allgemeinen und HIER zu Kermit 95 im Besonderen finden Sie außerdem HIER .

Kermit-Software erschien erstmals 1981 für CP/M-Mikrocomputer sowie DECSYSTEM-20- und IBM-Großrechner. Und kurz darauf für IBM-PCs (und andere) mit MS-DOS und danach für immer mehr verschiedene Computerplattformen , insbesondere Unix und Microsoft Windows . Die Befehlssprache, die Syntax sowie (in den meisten Fällen) die Befehlsbearbeitung und -unterstützung wurden vom TOPS-20 EXEC übernommen, d. h. der Benutzeroberfläche (oder „Shell“ im modernen Sprachgebrauch) des primären DECSYSTEM- 20 Plattform für akademisches Rechnen an der Columbia von 1977 bis 1988. Zu den bemerkenswerten Funktionen gehören die feldspezifische Hilfe bei „?“, die Vervollständigung von Schlüsselwörtern und Dateinamen bei Tab oder Esc sowie die integrierte Hilfe. Programmierfunktionen wurden der Befehlssprache beginnend mit C-Kermit 5A(190) für Unix , VMS, AOS/VS, Plan 9 (usw.) und MS-DOS Kermit hinzugefügt und seitdem verbessert und erweitert. Ein einzigartiges Merkmal des Kermit-Skriptings besteht darin, dass es nicht nur zwischen verschiedenen Computerplattformen (wie Unix und Windows), sondern auch verschiedenen Kommunikationsmethoden (Telnet, FTP, sicheres Telnet, sicheres FTP, SSH, SSL, Kerberos IV/V usw.) portierbar ist über 100 verschiedene Modemtypen und direkte serielle Schnittstelle).

Diese Seite bietet eine kurze Einführung in die Kermit-Skripterstellung und eine Bibliothek mit Kermit-Beispielskripten, die unten aufgeführt sind . Bei den mit (*) gekennzeichneten Skripten handelt es sich um „Kerbang“-Skripte, die unter UNIX genau wie Shell-Skripte verwendet werden können, wenn Sie ihnen die Ausführungsberechtigung erteilen:

chmod +x Skriptname

Befehlszeilenargumente werden wie erwartet akzeptiert, z. B.:

autotelnet xyz.com myuserid

Dadurch werden die Befehlszeilenargumente dem Skript in den Variablen zur Verfügung gestellt \%0 (Skriptname), \%1 (erstes Argument), \%2 (zweites Argument) usw.

Die erste Zeile jedes Kerbang-Skripts sieht so aus:

#!/usr/local/bin/wermit +

(aber ohne Einzug). Dies gibt den Pfadnamen der ausführbaren C-Kermit-Datei an, die das Skript ausführen soll; Ändern Sie diese Zeile nach Bedarf. Das abschließende Pluszeichen ist erforderlich, wenn Befehlszeilenargumente an das Skript übergeben werden sollen (und schadet auch nicht, wenn dies nicht der Fall ist). Für die Funktion „Kerbang“ ist C-Kermit 7.0 oder höher erforderlich. Weitere Informationen zu Kerbang-Skripten finden Sie im Abschnitt „C-Kermit 7.0-Ergänzung“ zu diesem Thema.

WARNUNG: Auf Unix-basierten Betriebssystemen muss die Skriptdatei im Unix-Textformat vorliegendamit der Kerbang-Mechanismus funktioniert. Das heißt, Zeilen dürfen nur durch Zeilenvorschub beendet und getrennt werden, nicht durch Wagenrücklauf und Zeilenvorschub (wie es beispielsweise passieren würde, wenn Sie die Datei von Windows im Binärmodus und nicht im Textmodus hochgeladen hätten). Wenn die Kerbang-Zeile mit CR und LF endet, geht die Unix-Shell davon aus, dass CR Teil des Dateinamens ist, wenn kein „+“ enthalten ist, und findet keinen „gültigen Interpreter“ (z. B. Kermit) für das Skript. Wenn ein +-Zeichen enthalten ist, kann die CR Kermit möglicherweise daran hindern, es zu erkennen. Dies sind Merkmale der Unix-Shell und gelten für Shell-Skripte, Perl-Skripte und alle anderen Arten von Skripten, die die „Shebang“-Konvention zum Aufrufen des entsprechenden Interpreters verwenden. Um Wagenrückläufe zu entfernen, verwenden Sie die folgenden Unix-Shell-Befehle:

tr -d '\015' < Skriptdateiname > neuer Dateiname

mv neuer Dateiname Skriptdateiname

Auf Nicht-UNIX-Plattformen werden diese Skripte ausgeführt von:

  1. Erteilen eines TAKE- Dateinamenbefehls an Kermit. In C-Kermit 7.0 und höher können dem Dateinamen Argumente folgen, die den Variablen zugewiesen werden \%1 , \%2 , ..., \%9 .

Einschließlich des Skriptdateinamens als erstes Befehlszeilenargument für das Kermit-Programm, gefolgt von einem Pluszeichen und den Argumenten. In VMS und Windows scheint das Pluszeichen Probleme mit der Shell zu verursachen. In diesem Fall können Sie es durch ein Gleichheitszeichen ersetzen, aber setzen Sie es hinter den Namen der Skriptdatei und nicht davor:
kermit script.ksc = arg1 arg2 arg3 ... VMS

k95 script.ksc = arg1 arg2 arg3 ... Windows

  1. Dies weist arg1 zu \%1 , arg2 bis \%2 , und so weiter.
  2. In Windows 95/98/ME/NT/2000/XP/usw. nach Dateitypzuordnung (wenn der Skriptdateiname das Suffix „ .ksc "), aber in diesem Fall stellt Windows keinen Mechanismus zur Übergabe von Argumenten an das Skript zur Verfügung.

Außerhalb von UNIX hat die Zeile „kerbang“ keine Wirkung, da es sich um einen Kommentar zu Kermit handelt. In VMS können alle Verweise auf „Umgebungsvariablen“ durch logische Namen oder DCL-Symbole erfüllt werden.

Die Skripte auf dieser Seite dienen nur zur Veranschaulichung und unterliegen keiner ausdrücklichen oder stillschweigenden Garantie.

Spitze

SCRIPT ZUM HERUNTERLADEN VON SCRIPTS

Seit Januar 2014 ist ein neues Skript verfügbar, das das Herunterladen von Skripten aus der Kermit Script Library und deren Installation auf dem eigenen Computer vereinfacht. Es heißt getkermitscript . KLICKEN SIE HIER , um es anzuzeigen (und herunterzuladen). Sie können dieses Skript auf einem Unix-basierten Computer verwenden, auf dem C-Kermit 8.0 oder höher installiert ist, um Kermit-Skripte von hier mit einem einfachen Befehl wie „getkermitscript photogallery.ksc“ herunterzuladen und zu installieren. Einige Dinge, die Sie beachten sollten:

  1. Alle Skriptdateinamen in der Kermit-Bibliothek sind alle in Kleinbuchstaben geschrieben. Das getkermitscript-Skript weiß dies und schreibt alle Argumente, die Sie möglicherweise großgeschrieben haben, in Kleinbuchstaben.
  2. Skripte in der Skriptbibliothek werden ohne Erweiterung gespeichert, auch wenn sie möglicherweise als Name bezeichnet werden .ksc .

Für eine vollständige Anleitung klicken Sie HIER .

Spitze

SCRIPTING-TUTORIAL

  1. Für eine Einführung in C -Kermit klicken Sie HIER .
  2. Für eine Einführung in Kermit 95 klicken Sie HIER .

Die Kermit-Skriptsprache ist eine Programmiersprache ähnlich wie Perl, jedoch mit einer anderen Syntax (da die Kermit-Sprache älter als Perl und viele andere Skriptsprachen ist). Die Kermit-Sprache ist auf UNIX (Linux, AIX, HP-UX, Solaris, FreeBSD, IRIX, SINIX, QNX, SCO, Tru64 und alle anderen bekannten UNIX-Varianten ), VMS, Stratus VOS, Data General AOS/VS und Windows portierbar 95/98/ME/NT/2000/XP/7/8/10 , OS/2 , Plan 9, OS-9/68000, der Commodore Amiga und andere Plattformen und funktioniert einheitlich auf seriellen Verbindungen (direkt oder gewählt) und Netzwerkverbindungen (Klartext oder sicher). Daher ist das Erlernen der Sprache eine gute Investition Ihrer Zeit, da es auf fast jedes Kommunikationsproblem angewendet werden kann. Die Kermit-Schriftsprache ist im Buch dokumentiertVerwendung von C-Kermit , aber natürlich wurden seit der Veröffentlichung des Buches viele Verbesserungen vorgenommen, die in den Updates für Version 7.0 , Version 8.0 und Version 9.0 erläutert und durch unten aufgeführte Beispielskripte veranschaulicht werden.

Die Kermit-Skriptsprache ist leicht zu erlernen , wenn Sie Kermit bereits verwenden, da sie mit der Befehlssprache von Kermit identisch ist . Ein Kermit-Skriptprogramm ist einfach eine Reihe von Kermit-Befehlen, die in einer Datei oder einem Makro zusammengefasst sind. Um das Skript auszuführen, weisen Sie Kermit an, die Datei zu NEHMEN oder das Makro auszuführen. Unter UNIX können Sie es auch wie ein Shell-Skript ausführen, wie oben auf dieser Seite beschrieben . In beiden Fällen können Sie im Befehl, der es aufruft, Parameter an das Skript übergeben.

Wenn Sie Kermit „manuell“ verwenden , also direkt mit dem Host interagieren, stellen Sie normalerweise eine Verbindung her (SSH, TELNET, DIAL usw.) und interagieren dann direkt mit dem anderen Computer, indem Sie zwischen dem Kermit-Befehlsbildschirm und dem Terminal hin und her wechseln Bildschirm. Der Befehl zum Wechseln vom Befehlsbildschirm zum Terminalbildschirm lautet CONNECT (C ist eine ausreichende Abkürzung). Die Rückkehr vom Terminalbildschirm zum Befehlsbildschirm erfordert eine spezielle „Escape-Sequenz“ wie Strg- \ C, Strg -] C oder Alt-x (Alt-x wird in Kermit 95 und MS-DOS Kermit verwendet). Beachten Sie, dass Kermits TELNET-Befehl eine Abkürzung für SET HOST gefolgt von CONNECT ist; Das heißt, TELNET enthält einen impliziten CONNECT-Befehl.

Beim Automatisieren einer Sitzung wechseln Sie nicht zwischen „Bildschirmen“ hin und her; Sie können keine Verbindung herstellen oder zurückkommen. In einem Skript wird alles im Befehlsmodus erledigt. In einem Skript gibt es keinen Terminalbildschirm. Verwenden Sie anstelle von CONNECT (oder TELNET oder RLOGIN oder SSH) die folgenden Befehle , die Kermit anweisen, das zu tun, was Sie „von Hand“ tun würden:

SET HOST [Schalter] Hostname-oder-Adresse [Schalter]

Öffnen Sie eine Netzwerkverbindung, bleiben Sie jedoch im Befehlsmodus, dh ohne den Terminalbildschirm oder den CONNECT-Modus aufzurufen. Verwenden Sie diesen Befehl anstelle von TELNET, CONNECT, SSH oder einem anderen Befehl, der auf den Terminalbildschirm gelangen würde. Synonym: OPEN HOST (was möglicherweise eher an die durchgeführte Aktion erinnert).

Für serielle oder Modemverbindungen verwenden Sie:

SET MODEM TYPE [Name des Modems oder NONE ]

SET LINE Gerätename

SET SPEED Schnittstellengeschwindigkeit

[ Telefonnummer WÄHLEN ]

Öffnen Sie eine direkte oder gewählte serielle Verbindung, bleiben Sie jedoch im Befehlsmodus. Beachten Sie, dass der DIAL-Befehl nicht automatisch in den CONNECT-Modus wechselt, wenn er über eine Befehlsdatei oder ein Makro ausgeführt wird.

Kermits DIAL-Befehl tätigt den Anruf, indem er die entsprechenden Befehle an das Modem sendet, normalerweise AT-Befehle, und die Antworten liest. Der Befehl SET MODEM TYPE, der vor dem Befehl DIAL gegeben werden muss, teilt Kermit mit, um welche Art von Modem es sich handelt, sodass Kermit weiß, welcher Befehlssatz verwendet werden soll. In C-Kermit und Kermit 95 ist es normalerweise nicht notwendig , den Dialog mit dem Modem per Skript zu erstellen; All das ist bereits in Kermit integriert. Weitere Informationen finden Sie im Handbuch oder geben Sie HELP DIAL, HELP SET DIAL und HELP SET MODEM ein.

Wenn Sie jedoch einen solchen Dialog per Skript erstellen müssen – z. B. um alphanumerische Seiten oder SMS-Nachrichten zu senden – können Sie dies tun. Der Trick besteht darin, dass Sie Kermit vor der Ausführung des ersten INPUT- oder OUTPUT-Befehls (unten erklärt) anweisen müssen, CARRIER-WATCH OFF zu setzen. Beispiel:

Stellen Sie den Modemtyp auf „Kein“ ein

SETZE ZEILE /dev/ttyS0

WENN FEHLGESCHLAGEN EXIT 1 „Gerät nicht verfügbar“

GESCHWINDIGKEIT 57600 einstellen

FLOW-CONTROL RTS/CTS EINSTELLEN

TRÄGERÜBERWACHUNG AUSSCHALTEN

AUSGANG BEI\13

EINGANG 3 OK

Geben Sie HELP SET CARRIER-WATCH ein, um eine kurze Erklärung zu erhalten.

Sobald die Verbindung geöffnet ist, simulieren Sie mit den folgenden Befehlen, was Sie interaktiv tun würden:

INPUT- Timeout-Zeichenfolge

Warten Sie bis zu einer Zeitüberschreitung von Sekunden, bis die angegebene Zeichenfolge vom anderen Computer eintrifft. Wenn es eintrifft, ist dieser Befehl erfolgreich; Andernfalls schlägt der Befehl fehl. Beispiel: EINGANG 10-Anmeldung: Der INPUT-Befehl kann nicht nur einfache Zeichenfolgen, sondern auch Muster akzeptieren . Eine alternative Form, MINPUT, akzeptiert eine Liste von Übereinstimmungszeichenfolgen und/oder -mustern.

EINGANGSECHO EINSTELLEN

Normalerweise werden auf Ihrem Bildschirm keine Skriptdialoge angezeigt. Verwenden Sie diesen Befehl, um zu sehen, was Kermit und der Gastgeber zueinander sagen. Dies hat keinen Einfluss auf die Funktionsweise des Skripts, sondern nur auf das, was Sie sehen können.

IF FAILURE- Befehl

Wenn der vorhergehende Befehl (SET HOST, INPUT oder ein anderer Befehl) fehlgeschlagen ist, führen Sie den angegebenen Befehl aus .

Beispiel: WENN FEHLGESCHLAGEN EXIT 1 „Keine Anmeldeaufforderung“ . Der Befehl kann eine in geschweifte Klammern eingeschlossene Liste von Befehlen sein, und die IF-Anweisung kann auch einen ELSE-Teil haben, der ebenfalls ein einzelner Befehl oder eine Liste von Befehlen sein kann.

IF SUCCESS- Befehl

Wenn der vorherige Befehl erfolgreich war, führen Sie den angegebenen Befehl aus .

STOP [ Zahl [ Zeichenfolge ] ]

Stoppen Sie das Skript und kehren Sie zur Kermit-Eingabeaufforderung zurück. Die Zahl ist ein Erfolgscode: 0 für Erfolg, ungleich Null für Misserfolg; Der Befehl, der die aktuelle Befehlsdatei (TAKE) oder das aktuelle Makro (DO oder „implied DO“) aufgerufen hat, kann basierend auf diesem Code mit IF SUCCESS oder IF FAILURE getestet werden. Wenn eine Zeichenfolge enthalten ist, wird diese gedruckt.

ENDE [ Zahl [ Zeichenfolge ] ]

Wie STOP, verschiebt den Befehlsstapel jedoch nur um eine Ebene statt ganz nach oben. Verwenden Sie dies, um frühzeitig von einem Makro oder einer Befehlsdatei zum Aufrufer zurückzukehren. Synonym: POP.

EXIT [ Zahl [ Zeichenfolge ] ]

Stoppt das Skript und beendet Kermit. Die Zahl ist Kermits Exit-Statuscode, normalerweise 0 für Erfolg, ungleich Null für Misserfolg. Wenn eine Nachricht gegeben wird, wird sie gedruckt.

OUTPUT- Zeichenfolge

Senden Sie die angegebene Zeichenfolge an den anderen Computer. Mit können Steuerzeichen in die Zeichenfolge eingefügt werden \ dddNotation (wobei die ds Ziffern sind und ddd den numerischen Code für das Steuerzeichen darstellt .

Beispiel: AUSGABE olga\13

LINEOUT- Zeichenfolge

(C-Kermit 7.0 und höher; Kermit 95 1.1.20 und höher) Da es so üblich ist, eine Zeile mit einem Wagenrücklauf am Ende auszugeben, erledigt dieser Befehl dies für Sie, sodass Sie nicht daran denken müssen, etwas einzuschließen \13 am Ende. Lineout foo ist äquivalent zu Ausgabe foo\13 .

INPUT ersetzt Ihre Augen , OUTPUT ersetzt Ihre Finger und IF ersetzt Ihr Gehirn .

Der Rest ist normale Programmierung: FOR, WHILE, SWITCH, GOTO, Variablen, Arrays, Funktionen, Blockstruktur, Verschachtelung, Gültigkeitsbereich und der Rest, HIER aufgelistet und im Handbuch dokumentiert ( so wie jede andere Programmiersprache in ihrer eigenen Dokumentation dokumentiert ist). Handbuch).

Hier ist ein sehr einfaches Beispiel für die Herstellung einer Telnet-Verbindung zu UNIX und die Anmeldung:

set host foo.bar.baz.com ; Stellen Sie die Verbindung her

wenn fehlschlägt stop 1 Verbindung fehlgeschlagen; Überprüfen Sie, ob es hergestellt wurde

Eingabe 20 Login: ; Warten Sie 20 Sekunden auf die Eingabeaufforderung login:

wenn fehlschlägt, stoppen 1 Keine Anmeldeaufforderung; Überprüfen Sie, ob es angekommen ist

Ausgabe myuserid\13 ; oder „lineout myuserid“

Eingabe 5 Passwort: ; Warten Sie 5 Sekunden auf die Eingabeaufforderung „Passwort:“.

wenn fehlschlägt, stoppen 1 Keine Passwortabfrage; Überprüfen Sie, ob es angekommen ist

Ausgabe mypassword\13 ; oder „lineout mypassword“

Dies veranschaulicht, wie Ihre Aktionen auf dem Terminalbildschirm durch INPUT (Augen), OUTPUT (Finger) und IF (Gehirn) simuliert werden. Es kann beliebig ausgearbeitet werden: Variablen anstelle von Konstanten für Host, Benutzernamen oder Passwort verwenden; um zur Eingabe des Passworts aufzufordern, damit Sie es nicht in einer Datei speichern müssen; um eine Art Wiederherstellungsaktion zu versuchen, wenn ein Befehl fehlschlägt, anstatt einfach anzuhalten, und so weiter. Und natürlich können Sie weitere Schritte hinzufügen – eine Datei übertragen, eine E-Mail senden, was auch immer Sie möchten.

Die Syntax der Programmiersprache Kermit sollte jedem bekannt sein, der andere Skriptsprachen wie die UNIX-Shell verwendet. Da es sich um eine String-Ersetzungssprache handelt , wird ein „Escape-Zeichen“ (Backslash) verwendet, um die String-Ersetzung anzuzeigen. Da viele Arten von Elementen ersetzt werden können, folgt auf den Backslash ein zweites Zeichen, um anzugeben, welche Art der Ersetzung vorgenommen werden soll: eine Skalarvariable, ein Array-Element, ein Funktionsergebnis, ein Sonderzeichen usw. Beispiele:

\%A Eine skalare benutzerdefinierte Variable, die rekursiv ausgewertet wird
\m( Name ) Eine skalare benutzerdefinierte Variable, die eine Ebene tief ausgewertet wird
\v( Name ) Eine integrierte Variable (z. B \v(Zeit) , „show var“ für eine Liste)
\&a[1] Ein rekursiv ausgewertetes Array-Element
\f Name ( Argumente ) Ein Funktionsaufruf („show func“ für eine Liste, „help func xxx“ für Details der Funktion xxx)
\x0F Ein Zeichen, dessen Code die angegebene Hexadezimalzahl ist ( 00-ff )
\123 Ein Zeichen, dessen Code die angegebene Dezimalzahl (0-255) ist.
\\ Ein buchstäblicher Backslash.
( KLICKEN SIE HIER für eine detailliertere Erklärung dieser Notation.)

Dies sollte Ihnen eine Vorstellung davon geben, wie Sie die Skripte in der Bibliothek lesen und wie Sie ein einfaches Skript schreiben oder eines davon an Ihre Bedürfnisse anpassen. Für eine kurze Beschreibung eines bestimmten Kermit-Befehls oder einer bestimmten Kermit-Funktion verwenden Sie den HELP-Befehl von Kermit. Um eine Beschreibung einer integrierten Funktion zu erhalten, geben Sie an der Eingabeaufforderung „Hilfefunktion xxx“ ein, wobei xxx für den Funktionsnamen steht. Für eine gründliche Behandlung konsultieren Sie bitte das Handbuch .

Denken Sie abschließend daran:

  • Fügen Sie keinen CONNECT-Befehl in ein Skript ein, es sei denn, Sie möchten die Ausführung des Skripts wirklich anhalten und die manuelle Kontrolle dem Benutzer übergeben. Und denken Sie daran, dass der CONNECT-Befehl nur funktionieren kann, wenn der Job über ein steuerndes Terminal verfügt; Es kann nicht in einem Batch- oder Cron-Job funktionieren, wenn kein Terminal vorhanden ist.
  • Sie können den Text für den Host nicht „inline“ einfügen. Kermit liest Befehle aus dem Skript, keinen Text für den Host. Um Text an den Host zu senden, verwenden Sie den Befehl OUTPUT oder TRANSMIT.
  • TELNET- Host ist eine Abkürzung für SET HOST host , IF SUCCESS CONNECT. Da TELNET einen impliziten CONNECT-Befehl enthält, fügen Sie keinen TELNET-Befehl in Ihr Skript ein, es sei denn, Sie möchten die Ausführung des Skripts wirklich anhalten und die manuelle Kontrolle dem Benutzer übergeben. Ähnliches gilt für SSH und RLOGIN. Verwenden Sie in einem Skript stattdessen SET HOST mit den entsprechenden Schaltern (falls erforderlich), um den Verbindungstyp anzugeben. Weitere Informationen finden Sie unter HELP SET HOST.
  • Weitere Beispiele finden Sie in der folgenden Bibliothek und in den C-Kermit- Fallstudien . Siehe auch die C-Kermit-FAQWarum funktioniert mein Skript nicht? “.

Top- Inhalt C-Kermit Kermit 95 Kermit Home

DIE KERMIT-Skriptbibliothek

Aktuelle Ergänzungen

  1. Fotogalerie
    August 2013, mit nachfolgenden Aktualisierungen. Ein Produktionsskript zum Erstellen, Ändern und Aktualisieren von Bildergalerien für das Web. C-Kermit 9.0 oder höher erforderlich. Dies ersetzt das frühere Fotoalbum- Skript, das nur eine Demo war und nicht für die Produktion geeignet war.
  2. html
    Ein Programm, das eine reine Textdatei in eine Webseite umwandelt. Im Gegensatz zu allen anderen hier vorgestellten Skripten kann dieses in einer Unix-Pipeline verwendet werden.
  3. Erinnern
    Ein einfaches Erinnerungsprogramm, das über Ihr Anmeldeprofil, direkt oder auf jede andere von Ihnen gewünschte Weise aufgerufen werden kann. Veranschaulicht einige der Datumsverarbeitungsfunktionen von C-Kermit (Formatkonvertierung, Vergleich, Sortierung). Der Hilfetext ist HIER .
  4. Textblock ersetzen
    Februar 2014. Eine automatisierte Methode zum Ersetzen eines Textblocks (z. B. eines mehrzeiligen Copyright-Hinweises) in allen Dateien, die ihn enthalten. C-Kermit 9.0 oder höher.
  5. Getkermitscript
    Januar 2014. Ein Kermit-Skript zum Herunterladen von Kermit-Skripten aus der Kermit-Skriptbibliothek und zum Installieren auf Ihrem Computer, ohne dass Sie sie bearbeiten oder andere Befehle erteilen müssen (zuvor mussten Sie immer die „Kerbang-Zeile“ bearbeiten und die Berechtigungen ändern). ). Vorerst nur Unix. Erfordert C-Kermit 8.0 oder höher. Im Jahr 2022 aktualisiert, um das Verschwinden des FTP-Protokolls aus dem Internet zu umgehen.
  6. Jpginfo
    September 2013. Erstellt eine Verzeichnisliste der JPG-Bilddateien, die (für jede Datei) das Aufnahmedatum, die Breite, die Höhe und die Angabe, ob es sich um Hoch- oder Querformat handelt, enthält.
  7. Renamejpgs
    April 2013. Ein Skript zum Umbenennen von JPG-Dateien nach „Zeitaufwand“ oder „Erstellungszeit“. Dadurch können Bilder aus mehreren Quellen oder deren Dateinamen „umbrochen“ wurden, in chronologischer Reihenfolge nach Dateinamen angezeigt werden. C-Kermit 9.0.304 erforderlich.
  8. ilosetup
    2009-2011. Ein Produktionsskript zum Konfigurieren von HP Blade-Servern über ihre Integrated Lights Out (iLO)-Schnittstelle.
  9. CBX
    Eine Reihe von Skripten zum Abrufen von Berichten aus einem Rolm CBX. C-Kermit 8.0 oder höher oder Kermit 95 2.1 oder höher.
  10. Ksitemap
    Kermit erstellt eine Sitemap für eine Website auf der Grundlage einer einfachen Steuerdatei, die Sie erstellen und die angibt, welche Dateien und Bilder eingebunden werden sollen. Google Image Sitemap-Erweiterungen werden unterstützt. Wenn Ihre Steuerdatei Text enthält, der in ISO 8859-1 oder anderen häufig verwendeten Zeichensätzen codiert ist, konvertiert Kermit ihn in UTF-8, was in Sitemaps erforderlich ist. HIER dokumentiert. Erfordert C-Kermit 9.0 .
  11. Weblog
    Liest ein TSV-Webprotokoll (Tab-Separated Record) für eine zweisprachige spanisch-englische Website, extrahiert die Google-Suchanfragen, normalisiert den Zeichensatz und die Groß-/Kleinschreibung der Suchzeichenfolgen so weit wie möglich und druckt die 20 häufigsten Suchanfragen zusammen mit ihrer Anzahl aus . HIER dokumentiert. Erfordert C-Kermit 9.0 . [Seit Oktober 2011 ist dieses Skript weitgehend akademisch, da Google keinen Suchtext mehr in seine URL-Parameter einbezieht.]
  12. ifdef
    Ein einfaches Skript zum Überprüfen der #if/#ifdef/#ifndef..#endif-Struktur in einer C-Quellcodedatei.
  13. ifdef2
    Wie ifdef, zeigt aber auch #define und #undef an.
  14. cmp
    Makro zum Vergleichen zweier Zahlen beliebiger Länge, Ganzzahl oder Gleitkomma, mit oder ohne Vorzeichen, auch wenn sie länger als die Wortgröße der zugrunde liegenden Maschine sind. Erfordert C-Kermit 8.0 oder höher oder K95 2.0 oder höher.
  15. twoscomplementv3
    Makros zum Konvertieren von vorzeichenbehafteten Dezimalzahlenzeichenfolgen in das hexadezimale Zweierkomplementformat und umgekehrt. Führt eine eigene String-Arithmetik durch und ist daher nicht durch die Wortgröße der Maschine oder das Speichermodell eingeschränkt. Wie geschrieben, können ganze Zahlen mit bis zu 128 Bit verarbeitet werden. Offensichtlich läuft dieser langsamer als twoscomplementv1 , der Maschinenarithmetik verwendet. Erfordert C-Kermit 8.0 oder höher oder K95 2.0 oder höher. (Das twoscomplementv2- Skript wurde nur in eine Richtung konvertiert, diese Version umfasst beide Richtungen.)
  16. twoscomplementv1
    Ein Skript zum Konvertieren von vorzeichenbehafteten Dezimalzahlenzeichenfolgen in das Zweierkomplementformat und zum Anzeigen dieser im Hexadezimalformat. Verwendet Maschinenarithmetik, sodass die Ergebnisse durch die zugrunde liegende Wortgröße und das Speichermodell (z. B. 32 Bit) begrenzt sind. Erfordert C-Kermit 8.0 oder höher oder K95 2.0 oder höher.
  17. Umfrage-
    CGI-Skript zur Verarbeitung eines Webformulars (in diesem Fall einer Umfrage ).
  18. webindex
    Erstellt einen Webindex von der Kermit-FTP-Site und verwandelt Tausende von Dateien in anklickbare Links. Erfordert C-Kermit 9.0 oder höher.
  19. pop.ksc Ein vollständig ausgearbeitetes Produktionsskript zum Abrufen von E-Mails von einem POP3-Server über eine durch SSL gesicherte Verbindung. Für Erklärungen und Dokumentationen klicken Sie HIER . Erfordert C-Kermit 9.0 oder höher. Ich habe dieses (und das nächste Skript, Mailcheck) selbst verwendet, um meine E-Mails jeden Tag den ganzen Tag abzurufen, bis Columbia von traditioneller Unix-Mail auf Gmail umgestiegen ist.
  20. mailcheck Ein Wrapper für das pop.ksc- Skript, das Ihr Passwort einmal sammelt und dann alle 5 Minuten (oder in einem anderen ausgewählten Intervall) nach neuen E-Mails sucht und diese abruft, falls vorhanden.

FTP-Skripte:

Ab 2022 sind diese in den meisten Fällen nicht mehr sinnvoll, da das FTP-Protokoll und die Server aus dem Internet entfernt wurden.

  1. Einführung in die FTP-Skripterstellung.
    So automatisieren Sie FTP-Sitzungen mit C-Kermit 8.0 und Kermit 95 2.0 oder höher. FTP selbst ist aus der Mode gekommen, was schade ist, aber an manchen Orten gibt es immer noch FTP-Server, auf die Sie über einen FTP-Client im Textmodus zugreifen können (jedoch nicht über einen Webbrowser wie Chrome oder Firefox).
  2. ibm_infoexchange
    Stellt eine sichere FTP-Verbindung zu IBM InfoExchange her. Eine sichere Version von Kermit 95 2.0 (oder höher) oder C-Kermit 8.0 (oder höher) ist erforderlich.
  3. ftprename
    Multiple Rename: Zeigt, wie eine Liste von Dateien auf einem FTP-Server umbenannt wird. Erfordert Kermit 95 2.0 (oder höher) oder C-Kermit 8.0 (oder höher).
  4. ftpdirectory(*)
    So erhalten Sie eine Verzeichnisliste von einem FTP-Server, die den vollständigen Zeitstempel für jede Datei anzeigt. Erfordert Kermit 95 2.0 oder C-Kermit 8.0 (oder höher).
  5. usend
    Zeigt, wie eine Datei mit einem garantiert eindeutigen Namen an einen FTP-Server gesendet wird, auch wenn der Server STOU nicht unterstützt. Erfordert Kermit 95 2.0 (oder höher) oder C-Kermit 8.0 (oder höher).
  6. rawhide
    Täglicher Download neuer RPMs vom Red Hat Linux Rawhide-Server. Kermit 95 2.0 (oder höher) oder C-Kermit 8.0 (oder höher).
  7. ftpsyncdown
    Verwendet FTP, um ein lokales Verzeichnis mit einem Remote-Serververzeichnis zu synchronisieren. Lädt neue Dateien und Dateien herunter, die sich geändert haben, überspringt Dateien, die sich nicht geändert haben, löscht lokale Dateien, die keine Gegenstücke auf dem Server haben. Funktioniert plattformübergreifend (Windows- oder Unix-Client; Unix, VMS, Windows oder die meisten anderen Server); Die Umschaltung zwischen Text und Binärmodus erfolgt automatisch. Kermit 95 2.0 (oder höher) oder C-Kermit 8.0 (oder höher).
  8. ftpsyncup
    Verwendet FTP, um einen Remote-Server-Verzeichnisbaum mit einem lokalen Verzeichnisbaum zu synchronisieren. Der lokale Verzeichnisbaum wird auf dem Server dupliziert. Lädt neue und geänderte Dateien hoch und überspringt Dateien, die sich nicht geändert haben. Funktioniert plattformübergreifend durch automatische Umschaltung zwischen Text- und Binärmodus. Kermit 95 2.0 (oder höher) oder C-Kermit 8.0 (oder höher).

Andere Internet-Skripte:

  1. kwhois
    Ein einfaches Ein-Schritt-WHOIS, ein Frontend zum regulären Whois-Dienstprogramm, mit dem Sie jede Domain in einem Schritt statt in zwei Schritten suchen können.
  2. remoteaccess
    So stellen Sie Benutzern eine befehlsorientierte Schnittstelle zur Verfügung, die direkt von außen auf Kermit zugreifen: Einwahl (ANSWER), Internet (SET HOST *) oder sogar wenn Kermit als Dienst unter inetd läuft. In diesen Situationen gibt es keinen Terminaltreiber, daher muss Kermit sich selbst um das Echo und Bearbeiten sowie um das Parsen und Ausführen von Befehlen kümmern. In diesem Beispiel wird ein einfaches „BBS“ implementiert, bei dem der Benutzer Dateilisten abrufen und Dateien herunterladen kann. Funktioniert mit jeder aktuellen Version von C-Kermit oder Kermit 95.
  3. skermit(*)
    Client für ein C-Kermit-Dateiübertragungs- und -verwaltungs-SSH-Subsystem: eine leistungsfähigere, benutzerfreundlichere, skriptfähige Alternative zu SFTP. Für die Dokumentation klicken Sie HIER . C-Kermit 8.0.201 oder K95 2.0 (oder höher) erforderlich.
  4. autossh(*)
    Führt eine automatisierte SSH-Sitzung durch. C-Kermit 8.0 oder K95 2.0 oder höher erforderlich.
  5. autotelnet(*)
    Stellt eine automatisierte Telnet-Verbindung her. C-Kermit 7.0 oder K95 1.1.19 oder höher erforderlich. Telnet ist praktisch vom Erdboden verschwunden, obwohl es SSH weit überlegen ist. Es wurden sichere Versionen von Telnet erstellt, aber niemand nutzt sie und jetzt sind auch sie verschwunden. „Das Böse vertreibt das Gute“.
  6. autotelnet6(*)
    Stellt eine automatisierte Telnet-Verbindung her. Wie „autotelnet“, nutzt jedoch keine neuen Funktionen von C-Kermit 7.0. C-Kermit 6.0 oder K95 1.1.13 oder höher erforderlich.
  7. portlog(Intrusion Detection)
    Absorbiert und protokolliert Angriffe auf TCP-Port 80, wie Code Red und Nimda, harmlos. Setzt sich stündlich zurück und lädt zu diesem Zeitpunkt auch (a) das Stundenprotokoll auf eine ausgewählte FTP-Site hoch; (b) sendet eine Zusammenfassung per E-Mail an eine ausgewählte Adresse. Es kann den TCP-Port 80 oder jeden anderen gewünschten TCP-Port überwachen. Funktioniert gut auf Port 80 mit Code Red, Code Red II und Nimda. Erfordert: C-Kermit 8.0 .
  8. pop3(*)
    Ruft E-Mails von einem POP3-Server ab. C-Kermit 7.0 erforderlich. Von Mark Sapiro. Sehen Sie sich auch das neuere sichere POP3-Skript an .
  9. netedit
    Bearbeitet eine Remote-Datei mit dem Editor Ihres lokalen Computers. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  10. iksget(*)
    Ruft eine oder mehrere Dateien von einem Internet-Kermit-Server ab. C-Kermit 7.0 erforderlich. In C-Kermit 8.0 oder K95 2.x sind keine Skripte erforderlich, die dies unterstützen kermit:// URLs in der Befehlszeile (auch FTP-, HTTP- und Telnet-URLs).
  11. iksdpy(*)
    Der Echtzeit-Anzeigemonitor des Internet Kermit Service Daemon. C-Kermit 7.0 oder K95 2.0 oder höher erforderlich.
  12. Zeitstempel(*)
    Fügt Zeitstempel zur Telnet-basierten Systemprotokollanzeige hinzu. C-Kermit 7.0 oder K95 1.1.19 erforderlich. Hinweis: C-Kermit 8.0 und Kermit 95 2.0 und höher verfügen über eine integrierte Option für Sitzungsprotokolle mit Zeitstempel .
  13. linksys(*)
    Wird mit einem Linksys Ethernet-Kabel/DSL-Router verwendet, um die IP-Adresse zur Verwendung mit der Kerberos 5-Authentifizierung abzurufen, wenn Network Address Translation (NAT) aktiviert ist. C-Kermit 8.0 erforderlich.

Protokollierungsskripte:

  1. logport
    Protokolliert Daten, die an einem seriellen Port ankommen. Praktisch zum Protokollieren von PBX-Anrufaufzeichnungen, Nachrichten an Steuerports von Routern usw. Erfordert C-Kermit 8.0.211 oder höher.
  2. daily-session-log
    Protokolliert eingehende Daten zu jeder Art von Verbindung (vorausgesetzt, eine Verbindung ist offen). Eine Ausarbeitung des Logport-Skripts, das die Protokolldatei jeden Tag um Mitternacht automatisch rotiert. Sollte mit jeder neueren Version von K95 oder C-Kermit funktionieren.

Modem-Skripte:

  1. autodial
    Dies ist das grundlegende automatische Wähl- und Anmeldeskript. Richtet Modem- und Kommunikationsparameter ein, wählt, verhandelt optional über einen Terminalserver und meldet sich dann bei einem Unix-Host an. Sollte mit jeder Version von C-Kermit oder Kermit 95 funktionieren.
  2. getline(*)
    Findet und weist anhand einer Liste serieller Geräte, die zum Hinauswählen verwendet werden können, das erste freie Gerät zu. C-Kermit 7.0 oder K95 1.1.19 oder höher erforderlich.
  3. mpservers
    Erstellt anhand einer Liste von TCP/IP-Modem-Pool-Servern eine Zählung der genutzten und freien Ports, indem es „Finger“-Befehle an sie sendet und die Ergebnisse sowohl pro Server als auch pro Telefonnummer akkumuliert kumulativ. Läuft unter UNIX. C-Kermit 8.0 erforderlich.
  4. callstats Ruft
    anhand einer Liste von Modempool-Telefonnummern wiederholt jede einzelne an und protokolliert die Ergebnisse jedes Anrufs (BUSY, CONNECT 48000 usw.) nach Datum und Uhrzeit in einem für statistische Analysen geeigneten Format. Läuft unter UNIX, Windows 95/98/ME/NT/2000/XP oder VMS. C-Kermit 7.0 oder K95 1.1.19 oder höher erforderlich.
  5. modemtest2(*)
    Ruft bei gegebener Liste von Telefonnummern des Modempools jede einzelne wiederholt an; Meldet sich bei einem bestimmten Host an, überträgt Dateien hin und her und führt eine Protokolldatei mit Verbindungs- und Leistungsstatistiken. Läuft unter UNIX, Windows 9x/ME/NT/2000/XP oder VMS. C-Kermit 8.0 oder Kermit 95 2.0 oder höher erforderlich. KLICKEN SIE HIER für eine frühere Version, die mit C-Kermit 7.0 und K95 1.1.19 funktioniert.
  6. dialout(*)
    Erstellt ein Formular, das der Benutzer ausfüllen kann, um Modemtyp, Port, Geschwindigkeit und Telefonnummer auszuwählen, und wählt dann auf Befehl des Benutzers. C-Kermit 7.0 oder K95 1.1.19 oder höher erforderlich. Hinweis: Dies ist auch ein Bildschirmformatierungsskript .
  7. callbycall
    Ein Wählskript, das je nach Tageszeit den am besten geeigneten Ferngesprächsanbieter auswählt und auch bei Besetztzeichen durch die Anbieter wechselt (falls der Anbieter selbst besetzt ist und nicht die Zielnummer). Zur Verwendung mit SET DIAL MACRO. Von Peter Eichhorn, Assyst GmbH , München. C-Kermit 7.0 oder K95 1.1.19 erforderlich.

Pager-Skripte:

  1. numpage(*)
    Skript für Beeper oder numerische Pager. C-Kermit 7.0 oder K95 1.1.19 oder höher erforderlich.
  2. alphapage(*)
    TAP/IXO alphanumerisches Paging-Skript (AKTUALISIERT im März 2003). C-Kermit 8.0 oder K95 2.0 oder höher erforderlich.
  3. alphapage6 TAP/IXO alphanumerisches Paging-Skript, das von C-Kermit 6.0 oder K95 1.1.13
    oder höher verwendet werden kann.
  4. malphapage(*)
    Das von RM Almeria modifizierte alphanumerische TAP/IXO-Paging-Skript, um eine Reihe von Seiten statt nur einer zu senden. C-Kermit 8.0 oder K95 2.0 oder höher erforderlich.
  5. Mehr über Pager

Bildschirmformatierungsskripte:

  1. unten(*)
    Ein einfaches einzeiliges Skript, das C-Kermit verwendet, um den Cursor auf die untere Zeile Ihres Bildschirms zu setzen. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  2. Menü(*)
    Grundgerüst einer Menüanwendung. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  3. Sehen Sie sich auch das Dialout- Skript an, das Bildschirmzeichnungstechniken verwendet.

Screen-Scraping-Skripte:

  1. scrape
    In Kermit 95 können Skripte mit dem Terminalemulator interagieren, um Zeichenfolgen von bestimmten Stellen auf dem Terminalbildschirm abzurufen, ähnlich wie bei HLLAPI. In diesem Skript werden Bildschirmformulare analysiert, um Bilder aus einer Datenbank auf dem Host-Computer auszuwählen und abzurufen. Von Max Evarts. K95 1.1.17 oder höher erforderlich.

Dateiübertragungsskripte:

  1. vmscapture
    Erfassen Sie eine Textdatei von einem VMS-Host ohne Kermit-Dateiübertragungsprotokoll.
  2. Deliver(*)
    Ein Skript, das die angegebene(n) Datei(en) an ihr Ziel liefert, auch wenn die Verbindung während der Übertragung unterbrochen wird. C-Kermit 6.0 oder K95 1.1.8 oder höher erforderlich.
  3. synchronisieren(*)
    Ein Skript, das Verzeichnisbäume auf zwei Internet-Hosts über eine Telnet-Verbindung synchronisiert. Es werden nur die Dateien übertragen, die auf der Quelle neuer sind als auf dem Ziel. Verzeichnisse werden bei Bedarf am Ziel automatisch erstellt. Dateien, die von der Quelle verschwunden sind, werden am Ziel gelöscht. Es kann jede Mischung aus Text- und Binärdateien verarbeitet werden. Die beiden Hosts müssen nicht dasselbe Betriebssystem oder Dateisystem haben. Der Zielhost wird automatisch kontaktiert und angemeldet (es handelt sich also ebenfalls um ein Internet-Skript ); Somit kann der gesamte Betrieb unbeaufsichtigt ablaufen. C-Kermit 7.0 oder K95 1.1.19 erforderlich.

Dateiverwaltungsskripte:

  1. verketten
    Verkettet alle Dateien im aktuellen Verzeichnis zu einer großen Datei. Nützlich (z. B. nach dem Herunterladen einer Reihe von EDI-Transaktionsdateien, die kombiniert werden müssen, damit der Computer sie alle auf einmal verarbeiten kann.
  2. rgrep(*)
    Beantwortet die häufig gestellte Frage: „Wo ist rekursives grep?“ Durchsucht Dateien in einem Verzeichnisbaum, deren Namen mit dem angegebenen Muster übereinstimmen, und gibt alle Zeilen in allen Dateien aus, die mit dem angegebenen Muster übereinstimmen. C-Kermit 7.0 oder K95 1.1.19 erforderlich. Hinweis: In C-Kermit 8.0 ist kein Skript mehr erforderlich, da GREP (einschließlich einer rekursiven Option) ein integrierter Befehl ist.
  3. rename(*)
    Ein einzeiliges Analogon zur UNIX-Shell " für ich In *; Tun bla ; Erledigt " Schleife. C-Kermit 7.0 oder K95 1.1.19 erforderlich. Diese Funktionalität ist ab Version 8.0.211 in C-Kermit integriert; KLICKEN SIE HIER für die Dokumentation des stark erweiterten RENAME-Befehls.
  4. changetype(*)
    Ausarbeitung eines Skripts zum Umbenennen in ein allgemeines Dateityp-Änderungsskript; Alte und neue Dateitypen und Dateilisten werden als Befehlszeilenargumente angegeben, z. B. „ Typ ändern Hlp txt * " umbenennt *.hlp Dateien zu *.txt . C-Kermit 7.0 oder K95 1.1.19 erforderlich. Auch diese Funktionalität ist ab Version 8.0.211 in C-Kermit integriert; Für Einzelheiten HIER KLICKEN .
  5. delete(*)
    beantwortet die häufig gestellte Frage „Wie lösche ich Dateien, die älter als n Tage sind?“. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  6. Überprüfung(*)
    Dateien interaktiv überprüfen. Alles, was Sie sich jemals von einem Dateibrowser im Textmodus gewünscht haben. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  7. logrotate
    Rotiert Verbindungsprotokolle monatlich. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  8. cleandups(*)
    Eine ziemlich komplexe Dateiverwaltungsanwendung (die tatsächlich zur Verwaltung der Aktualisierung und Installation von C-Kermit 7.0 Beta-Test-Binärdateien auf unserem FTP-Server verwendet wird). C-Kermit 7.0 erforderlich.
  9. install(*)
    Verschiebt neue C-Kermit-Betatest-Binärdateien von einem Staging-Bereich auf die FTP-Site und löscht dabei die entsprechenden Binärdateien aus früheren Betatests, um die Festplatte des FTP-Servers nicht zu füllen. C-Kermit 7.0 erforderlich.
  10. merge(*)
    Führt eine beliebige Anzahl vorsortierter Dateien zu einer einzigen Ausgabedatei zusammen. Veranschaulicht das Datei-E/A-Paket von C-Kermit, das mehrere Dateien gleichzeitig bearbeitet. C-Kermit 7.0 erforderlich.
  11. ftplog(*)
    Analysiert ein Dateiübertragungsprotokoll im wu-ftpd-Format, das auch vom FTP-Format SET TRANSACTION-LOG von C-Kermit erstellt wird. Listet die fünf beliebtesten Dateien auf und druckt außerdem ein Histogramm der Dateianzahl pro Anzahl der Zugriffe. Veranschaulicht assoziative Arrays. C-Kermit 7.0 erforderlich.

Skripte zur Zahlenverarbeitung:

  1. Statistiken(*)
    Bei einer gegebenen Datei, in der jede Zeile ein Zahlenpaar X und Y enthält, werden das Maximum, das Minimum, der Mittelwert, die Varianz und die Standardabweichung der X- und Y-Werte sowie der Korrelationskoeffizient von X und Y berechnet und gedruckt . Die Zahlen in der Datei können (müssen aber nicht) Dezimalpunkte und Bruchteile haben. Veranschaulicht die in C-Kermit 7.0 eingeführten Gleitkomma-Arithmetikfunktionen.
  2. xstats(*)
    Wie Statistiken , außer dass es (viel einfacher) mit C-Kermit 8.0 S-Expressions implementiert wird.

Datum-Uhrzeit-Arithmetik:

  1. Ostern(*)
    Berechnet das Osterdatum für jedes Jahr zwischen 1900 und 2099 mithilfe von S-Ausdrücken. Erfordert C-Kermit 7.0 oder höher oder K95 1.1.20 oder höher.
  2. Easter2(*)
    Identisch mit dem vorherigen, außer dass hier eine neue Funktion in C-Kermit 8.0.212 verwendet wird , die die Ganzzahlarithmetik erzwingt, die bei dieser Art von Berechnung erforderlich ist.
  3. Kalender(*)
    Wie Unix „cal“ – druckt einen Kalender für jeden Monat in einem beliebigen Jahr zwischen 1859 und 9999. Erfordert C-Kermit 8.0 oder höher oder K95 2.0 oder höher.
  4. löschenalt
    So löschen Sie Dateien, die älter als ein bestimmtes Alter sind, in der Client/Server-Einstellung.

C-Kermit-Initialisierungsdateien

  1. kermrc
    Die einst standardmäßige C-Kermit-Initialisierungsdatei. Enthält Definitionen für das Diensteverzeichnis mit automatischen Anmeldemakros für verschiedene Plattformen und Kommunikationsmethoden. Es ist eher eine Demonstration der Skriptsprache als ein praktischer Nutzen.
  2. mykermrc
    Beispiel-C-Kermit-Anpassungsdatei. C-Kermit 6.0 oder höher erforderlich.

Erweiterung des Kermit-Protokolls:

  1. rmsg
    Makroimplementierung des (fehlenden) REMOTE MESSAGE-Befehls für C-Kermit 8.0 und Kermit 95 2.0 oder höher.

Schlüsselkarten:

  1. koikeys
    Richtet eine „by-sound“-Tastatur für kyrillische Buchstaben ein, die im russischen Tastaturmodus in Kermit 95 verwendet werden soll . Dies ermöglicht Personen mit QWERTZ-Tastaturen das Tippen auf Kyrillisch (kyrillische Buchstaben werden mit römischen Buchstaben abgeglichen, die mehr oder weniger „den gleichen Klang“ haben). Der normale russische Tastaturmodus verwendet das standardmäßige kyrillische Tastaturlayout, das QWERTZ-Schreibkräften unbekannt ist. Jede Version von Kermit 95 bis etwa 1.1.8 kann diese Tastenzuordnung verwenden. Um eine Version dieser Skriptdatei anzuzeigen, die auch die kyrillische Version jedes Zeichens anzeigt, klicken Sie hier . Möglicherweise müssen Sie Ihrem Browser jedoch mitteilen, dass die Textcodierung utf-8 ist (obwohl dies die standardmäßige und bevorzugte Codierung für sein soll). Text im Web). Und KLICKEN SIE HIERfür eine HTML-Version mit den richtigen kyrillischen Zeichen, die Sie auf einer Seite drucken können.
  2. Für den Zugang zur Medicare-Schadenseinrichtung des Bundesstaates Arkansas ist eine Schlüsselkarte von ar-medicare
    Kermit 95 erforderlich.

HTML-Skripte

  1. html
    Konvertiert eine Nur-Text-Datei in HTML. Für den Produktionseinsatz im Jahr 2017 komplett neu geschrieben.

Objekt orientierte Programmierung:

(Und andere kreative Programmiertechniken.) Dieser Abschnitt von Dat Thuc Nguyen .

  1. Gepard
    Regelbasierte Programmierung in Kermit: Tiertaxonomie. Erfordert C-Kermit 8.0 oder Kermit 95 2.0 oder höher sowie das Regel-Engine- Modul.
  2. Regelbasis
    Regelbasierte Programmierung in Kermit. Erfordert C-Kermit 8.0 oder Kermit 95 2.0 oder höher.
  3. Autorepair
    Demonstration von „rulebase“. Erfordert C-Kermit 8.0 oder Kermit 95 2.0 oder höher.
  4. Socrates
    Prolog-ähnliche deklarative Logikprogrammierung in Kermit. Erfordert C-Kermit 8.0 oder Kermit 95 2.0 oder höher.
  5. Symmetrische
    Muster und Prädikate. Erfordert C-Kermit 8.0 oder Kermit 95 2.0 oder höher.
  6. Simulation
    Simulation einer Eisdiele: Kundenankünfte, Kundenbestellungen, Kundenabgänge, alles als Objekte programmiert. Erfordert das HIER definierte Klassenmakround C-Kermit 8.0 oder Kermit 95 2.0 oder höher.
  7. dining-philosophers
    Das Problem der Dining Philosophers: Semaphor, Prozess, Timer und Parallelität. Erfordert das HIER definierte Klassenmakround C-Kermit 8.0 oder Kermit 95 2.0 oder höher.
  8. dining-drinking-philosophers
    Das Problem der Dining Philosophen, mit Wein!
  9. permute (*)
    Rekursive String-Permutation. C-Kermit 8.0 oder Kermit 95 2.0 oder höher erforderlich.
  10. shortest_path
    Finden Sie den kürzesten Weg durch ein Netzwerk. Veranschaulicht S-Ausdrücke und Funktionen. C-Kermit 8.0 oder Kermit 95 2.0 oder höher erforderlich.
  11. Fibonacci
    Rekursive und iterative Fibonacci-Funktionen. Veranschaulicht S-Ausdrücke und Funktionen. C-Kermit 8.0 oder Kermit 95 2.0 oder höher erforderlich.
  12. makechange
    Wie viele Möglichkeiten gibt es, einen Dollar zu wechseln? Veranschaulicht S-Ausdrücke und Funktionen. C-Kermit 8.0 oder Kermit 95 2.0 oder höher erforderlich.
  13. the8queens
    Das 8-Damen-Problem. Veranschaulicht Arrays, S-Ausdrücke und zusammengesetzte boolesche Ausdrücke. C-Kermit 8.0 oder Kermit 95 2.0 oder höher erforderlich.
  14. Income_tax
    Einkommensteuerberechnung. Veranschaulicht S-Ausdrücke und Gleitkomma-Arithmetik. C-Kermit 8.0 erforderlich.
  15. Hanoi
    Türme von Hanoi. Veranschaulicht S-Ausdrücke, Rekursion. C-Kermit 8.0 erforderlich.
  16. hanoi2
    Eine schnellere Version von Towers of Hanoi. Veranschaulicht, wie rekursive Funktionen beschleunigt werden. C-Kermit 8.0 erforderlich.
  17. Die Klasse
    hostet objektorientierte Programmierung in C-Kermit 8.0 und verwendet einige S-Expression-Funktionen. C-Kermit 8.0 erforderlich.

Konto
Eine Anwendungsdemo, die dasselbe Beispiel verwendet, das die meisten Smalltalk-Dialekte als Einführung in die objektorientierte Programmierung verwenden. So führen Sie diese Demo aus:
C-Kermit > Klasse

C-Kermit > berücksichtigen

  1. C-Kermit 8.0 erforderlich.
  2. Kurzschluss
    Kurzschluss der Ausführung von Makros in Reihe (a), während alle erfolgreich sind, (b) bis einer von ihnen erfolgreich ist. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  3. lispops
    Dieses kleine Paket definiert eine Reihe LISP-ähnlicher arithmetischer Operatoren für C-Kermit und Kermit 95. C-Kermit 7.0 oder K95 1.1.19 erforderlich (veraltet durch die integrierte LISP-Syntax von C-Kermit 8.0 ).
  4. Matrix
    Die Matrix ist in vielen Computerbereichen ein wesentliches Element. C-Kermit und Kermit 95 können problemlos Matrixoperationen durchführen. Dieses Skript erstellt zwei Matrizen, A und B, und berechnet dann deren Summe: Matrix C.
  5. noswitch
    „SWITCH gilt als schädlich“
  6. oop
    Objektorientierte Programmierung in C-Kermit und Kermit 95. Spaß mit Hunden und Katzen.
  7. komplex
    Komplexe Zahlen sind in vielen Programmiersprachen kein integrierter Typ. Hier kommt OOP mit dem benutzerdefinierten Typ zur Rettung. Dieses Skript definiert eine komplexe Zahlenklasse in C-Kermit und bietet die bekannte C++-Schnittstelle. C-Kermit 7.0 erforderlich.
  8. wordcount(*)
    Die Worthäufigkeitszählung ist das Excel von Skriptsprachen wie awk und Perl. Auch mit OOP erledigt C-Kermit die Aufgabe komfortabel. Dieses Skript definiert und verwendet die Klasse Words, um das Vorkommen eindeutiger Wörter einer Nur-Text-Textdatei zu zählen. Die Klasse Words schützt Implementierungsdetails und fördert die Wiederverwendung, das Flaggschiff von OOP. C-Kermit 7.0 erforderlich.
  9. Vererbung
    Keine objektorientierte Programmiersprache kommt ohne Vererbung aus dem Haus. Dieses Skript zeigt die Vererbung in C-Kermit und Kermit 95 an.
  10. Mehrfachvererbung
    bereichert das Softwaredesign. Nicht alle OOP-Sprachen haben es: C++ schon; Bei Java und Smalltalk ist dies nicht der Fall. Dieses Skript implementiert die Mehrfachvererbung in C-Kermit. Zur Darstellung des Themas wird die berühmte Tierklasse verwendet, die in vielen C++- und Smalltalk-Referenzen zu finden ist.
  11. bag
    Der Container ist ein Schlüsselkonzept in der objektorientierten Programmierung. Smalltalk, C++ usw. verfügen über Standardbibliotheken für Container. Dieses Skript definiert die Klasse „bag“ in C-Kermit/Kermit 95. Bag bietet eine umfangreiche Benutzeroberfläche.
  12. string
    Eine rudimentäre String-Klasse basierend auf dem Smalltalk-Modell.
  13. Semaphor
    Wir verwenden Semaphoren, um Rechenaufgaben zu koordinieren, Ressourcen gemeinsam zu nutzen usw. Dieses Skript definiert Semaphorklassen sowohl im Smalltalk- als auch im C++-Stil. C-Kermit 6.0 / K95 1.1.17 erforderlich.
  14. Singleton
    In der Muster-Community ist der Singleton eine Klasse, die nur eine Instanz haben kann. Alle von dieser Klasse instanziierten Objekte verweisen auf den einzigen Singleton! Der Singleton ist sehr nützlich, wenn nur eine Ressource verfügbar ist und verschiedene benutzerdefinierte Funktionen unter unterschiedlichen Referenzen auf diese Ressource zugreifen. Die Singleton-Klasse stellt sicher, dass von ihr genau ein Objekt instanziiert werden kann, allerdings unter unterschiedlichen Namen.
  15. Zustand
    Der endliche Zustandsautomat ist in vielen Anwendungen ein nützliches Konzept. Dieses Skript schlägt ein Framework für eine Zustandsmaschine vor.
  16. Foltertests in Skriptsprache:
  17. Demo(*)
    Ein interaktiver „Foltertest“ für die Skriptsprache von C-Kermit. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  18. iftest(*)
    Übungsprogramm für zusammengesetzte boolesche Ausdrücke. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  19. Funktionen(*)
    Funktionstrainer. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  20. localarray(*)
    Lokaler Array-Trainer. C-Kermit 7.0 oder K95 1.1.19 erforderlich.
  21. Datumsübungsgerät
    für Datums-/Uhrzeitformate und Arithmetik. C-Kermit 7.0 oder höher erforderlich. Skript aktualisiert am 26. April 2020.
  22. sexp
    Übungsprogramm für S-Ausdrücke und Gleitkomma-Arithmetik. C-Kermit 8.0 oder K95 2.0 erforderlich.

Spitze