Tutoriel et bibliothèque de script C-Kermit / Kermit 95

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

SCRIPTS RÉCENTS (détails ci-dessous )
  1. Comptes
    juillet 2023. Pour les retraités vivant en appartement : suivez vos revenus par rapport à votre loyer année par année ; voyez lequel monte le plus vite. Illustre comment intégrer des données tabulaires dans le script lui-même plutôt que de les lire à partir d'un fichier externe ; comment diviser une ligne de tableau en ses éléments ; l'utilisation de plusieurs tableaux associatifs en même temps ; comment adresser symboliquement les éléments du tableau associatif ; et l'utilisation d'expressions S lorsque des résultats en virgule flottante sont nécessaires (pourcentages dans ce cas).
  2. ckubuildlog
    juin 2023. Crée une entrée pour la table de builds C-Kermit 10.0 , à utiliser après la construction d'une version de test bêta, ou d'ailleurs, la vraie version 10.0 lorsqu'elle est prête. Les systèmes d'exploitation de la famille Unix sont uniquement pour l'instant.
  3. findmissinghtml
    mars 2023. Pour les sites Web : recherche les pages manquantes contenant des fichiers de sauvegarde Emacs, donc si vous ne trouvez la vraie page nulle part, vous pouvez au moins restaurer à partir de la dernière sauvegarde.
  4. k95relay
    avril 2022. Script Kermit 95 pour se connecter à un hôte dont le serveur SSH ne prend en charge aucun des chiffrements effectués par le client SSH de K95 en utilisant un hôte ou un sous-système Linux comme relais. Plus nécessaire maintenant que C-Kermit 10.0 pour Windows est disponible .
  5. Fixfilelists
    mai 2021. Convertissez la page d'archive Kermit pour qu'elle continue d'afficher les listes de fichiers après la conversion des liens de ftp : vers http : en raison de la « dépréciation » de FTP par les principaux navigateurs Web en mars-avril 2021. Fondamentalement, ce script crée les noms de fichiers dans une liste de répertoires. cliquables pour que vous puissiez les voir ou les télécharger.
  6. Galerie de photos
    2013-2023 (projet actif). Un script de production pour créer, modifier et mettre à jour des galeries d'images sur le Web.
  7. html
    mai 2017. Convertit les fichiers texte brut en HTML. Il s'agit également du premier script Kermit pouvant être utilisé dans les pipelines Unix.
  8. Rappel
    2016. Un programme de rappel simple qui peut être invoqué à partir de votre profil de connexion.
  9. Getkermitscript
    2014. Téléchargement et installation automatisés de scripts à partir de la bibliothèque de scripts Kermit. Mis à jour en 2022 pour « se conformer » à la « dépréciation » du protocole ftp de téléchargement.
  10. Replacetextblock
    2014. Un moyen automatisé de remplacer un bloc de texte (tel qu'un avis de droit d'auteur multiligne) dans tous les fichiers qui le contiennent.
  11. Jpginfo
    2013. Produit une liste de répertoires de fichiers image JPG indiquant la date de prise, la largeur, la hauteur et s'il s'agit d'un portrait ou d'un paysage.
  12. Renamejpgs
    2013. Un script pour renommer les fichiers JPG (par exemple à partir d'appareils photo, de scanners ou de téléphones portables) en fonction du « temps pris » ou du « temps créé ». Un certain nombre d'images provenant de différents appareils peuvent être renommées dans l'ordre date-heure.

PRÉFACE

Au moment où j'écris ceci, de moins en moins de gens savent ce qu'est Kermit ; si cela s'applique à vous, vous pouvez cliquer ici pour un aperçu. L'apogée de Kermit s'est produite dans les années 80 et 90, lorsque presque tous ceux qui utilisaient des ordinateurs pour communiquer avec d'autres ordinateurs utilisaient Kermit comme émulateur de terminal et pour le transfert de fichiers. C-Kermit pour Unix et VMS et MS-DOS Kermit pour DOS ont été développés en tandem. Lorsque nous avons commencé à ajouter des fonctionnalités d'automatisation, le langage de script est devenu commun aux deux programmes. Lorsque Kermit 95 pour Windows est sorti, il avait le même langage de script, puisqu'il est basé sur C-Kermit.

Au début, le langage de script était destiné aux tâches de communication et de transfert de fichiers, mais au fil du temps, il s'est développé pour devenir un langage de programmation à usage général, à une échelle quelque part entre les scripts shell et Perl, avec des morceaux de scripts shell Unix, C , Bliss , Lisp . , Snobol , Algol et PL/I mélangés, avec des boucles, des variables, des tableaux, des fonctions, de l'artithmétique, des tableaux associatifs, de la récursion, de la logique booléenne, de la manipulation de chaînes, des E/S et de la gestion de fichiers, de la correspondance de modèles, du traitement de listes, etc. .

Aujourd'hui, vous pouvez écrire des programmes de script Kermit pour faire presque tout, que cela implique ou non une communication (et si cela implique une communication, cela peut se faire via des connexions série, des connexions réseau en texte clair ou des connexions réseau sécurisées). Les principales utilisations de Kermit sont désormais l'administration de systèmes et de sites Web et le développement de sites Web, et vous pouvez voir ci-dessous de nombreux exemples de scripts de production dans ces domaines.

Pour ma part, ayant programmé depuis le milieu des années 1960, je maîtrise de nombreux langages de programmation, et j'aurais aimé qu'ils ne disparaissent pas tous, à l'exception du C (PL/I, Snobol et Mainsail nous manquent beaucoup ; ils étaient puissants, stables, cohérents et bien documentés). Les choix d'aujourd'hui (C, scripts shell, etc.) sont des cibles mouvantes ; les programmes écrits dans ces langages ne restent pas écrits ; ils se détériorent avec le temps à mesure que les langages et les bibliothèques et utilitaires associés sont constamment redéfinis. C'est pourquoi désormais j'écris tous mes programmes (sauf C-Kermit lui-même bien sûr) en langage Kermit... Parce que le langage lui-même ne change pasde manière rétrocompatible afin que les "anciens" scripts n'aient jamais besoin d'être "mis à niveau", ils continuent simplement à fonctionner, même lorsque de nouvelles versions de Kermit lui-même sont publiées. Et aussi parce que chaque fois qu'il y a un bug dans la langue, je peux le corriger moi-même, et quand il y a quelque chose que je dois faire qui n'est pas dans la langue, je peux l'ajouter moi-même. Toujours de manière rétrocompatible.

Il n’existe pas encore de manuel cohérent pour le langage Kermit. Tout est documenté quelque part, mais il est dispersé dans des livres (qui sont désormais en ligne ) et une série de pages Web . En juillet 2019, j'ai élaboré un guide complet de toutes les informations. C'est comme une table des matières ; LE VOICI . En attendant, cette page (celle que vous lisez) est un très bon point de départ : trouvez un script qui fait quelque chose de similaire à ce que vous voulez faire et utilisez-le comme guide. Et lorsque vous voyez une commande ou une fonction que vous ne comprenez pas, utilisez la commande HELP intégrée de C-Kermit pour la découvrir :

aide ?

Affiche les rubriques d'aide

commande d'aide

Donne des informations sur la commande donnée

aider à définir la commande

Donne des informations sur la commande SET donnée

nom de la fonction d'aide

Donne des informations sur la fonction intégrée donnée.

Utilisez également la boîte de dialogue de recherche Google sur la page d'accueil et essayez la nouvelle « Table des matières ».

—Frank da Cruz, 1er mai 2017, mis à jour le 29 août 2019.

INTRODUCTION

Le langage de commande et de script de C-Kermit et Kermit 95 est décrit dans Using C-Kermit , 2e édition, complété par le supplément C-Kermit 7.0 , le supplément C-Kermit 8.0 et le supplément C-Kermit 9.0 . Vous pouvez également obtenir des aperçus et des tutoriels ICI pour Kermit en général et ICI pour Kermit 95 en particulier.

Le logiciel Kermit est apparu pour la première fois en 1981 pour les micro-ordinateurs CP/M et les mainframes DECSYSTEM-20 et IBM. Et peu de temps après pour les PC IBM (et autres) avec MS-DOS, et ensuite pour des plateformes informatiques de plus en plus distinctes , notamment Unix et Microsoft Windows . Le langage de commande, la syntaxe et (dans la plupart des cas) l'édition et l'assistance des commandes ont été adaptés du TOPS-20 EXEC, c'est-à-dire l'interface utilisateur (ou « shell » en langage moderne) du DECSYSTEM-20, qui était le principal plate-forme d'informatique académique à Columbia de 1977 à 1988. Les fonctionnalités notables incluent l'aide par champ sur « ? », la complétion des mots clés et des noms de fichiers sur Tab ou Echap et une aide intégrée. Des capacités de programmation ont été ajoutées au langage de commande à partir de C-Kermit 5A(190) pour Unix , VMS, AOS/VS, Plan 9 (etc.) et MS-DOS Kermit, et ont été améliorées et étendues depuis lors. Une caractéristique unique des scripts Kermit est qu'ils sont portables non seulement entre différentes plates-formes informatiques (telles qu'Unix et Windows), mais également entre différentes méthodes de communication (Telnet, FTP, Telnet sécurisé, FTP sécurisé, SSH, SSL, Kerberos IV/V, etc. plus de 100 types de modems différents et port série direct).

Cette page propose une brève introduction aux scripts Kermit et une bibliothèque d'exemples de scripts Kermit, répertoriés ci-dessous . Ceux marqués d'un (*) sont des scripts "kerbang" qui, sous UNIX, peuvent être utilisés exactement comme des scripts shell si vous leur donnez l'autorisation d'exécution :

chmod +x nom du script

Les arguments de ligne de commande sont acceptés de la manière attendue, par exemple :

autotelnet xyz.com monidentifiant utilisateur

Cela rend les arguments de ligne de commande disponibles pour le script dans les variables \%0 (nom du script), \%1 (premier argument), \%2 (deuxième argument), etc.

La première ligne de chaque script kerbang ressemble à :

#!/usr/local/bin/wermit +

(mais sans l'indentation). Ceci indique le chemin d'accès de l'exécutable C-Kermit qui doit exécuter le script ; modifiez cette ligne si nécessaire. Le signe plus final est requis si les arguments de ligne de commande doivent être transmis au script (et ne fait pas de mal s'ils ne le sont pas). La fonctionnalité « kerbang » nécessite C-Kermit 7.0 ou version ultérieure. Pour en savoir plus sur les scripts kerbang, consultez la section Supplément C-Kermit 7.0 sur ce sujet.

AVERTISSEMENT : sur les systèmes d'exploitation basés sur Unix , le fichier de script doit être au format texte Unix.pour que le mécanisme Kerbang fonctionne. Autrement dit, les lignes doivent être terminées et séparées uniquement par un saut de ligne, et non par un retour chariot et un saut de ligne (comme cela se produirait, par exemple, si vous téléchargiez le fichier depuis Windows en mode binaire plutôt qu'en mode texte). Si la ligne Kerbang se termine par CR et LF, le shell Unix pensera que le CR fait partie du nom de fichier si aucun « + » n'est inclus, et ne parviendra pas à trouver « un interprète valide » (c'est-à-dire Kermit) pour le script. Si un signe + est inclus, le CR peut empêcher Kermit de le reconnaître. Ce sont des caractéristiques du shell Unix et s'appliquent aux scripts shell, aux scripts Perl et à tout autre type de script qui utilise la convention "shebang" pour invoquer l'interpréteur approprié. Pour supprimer les retours chariot, utilisez les commandes shell Unix suivantes :

tr -d '\015' < nom de fichier script > nouveau nom de fichier

mv nouveau nom de fichier script nom de fichier

Sur les plateformes non UNIX, ces scripts sont exécutés par :

  1. Donner une commande de nom de fichier TAKE à Kermit. Dans C-Kermit 7.0 et versions ultérieures, le nom de fichier peut être suivi d'arguments attribués aux variables. \%1 , \%2 , ..., \%9 .

Inclure le nom du fichier de script comme premier argument de ligne de commande du programme Kermit, suivi d'un signe plus, suivi des arguments. Dans VMS et Windows, le signe plus semble causer des problèmes avec le shell. Dans ce cas, vous pouvez le remplacer par un signe égal, mais en le plaçant après le nom du fichier de script plutôt qu'avant :
kermit script.ksc = arg1 arg2 arg3 ... VMS

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

  1. Ceci attribue arg1 à \%1 , arg2 à \%2 , et ainsi de suite.
  2. Sous Windows 95/98/ME/NT/2000/XP/etc, par association de type de fichier (lorsque le nom du fichier script a le suffixe " .ksc "), mais dans ce cas, Windows ne fournit pas de mécanisme pour transmettre des arguments au script.

En dehors d'UNIX, la ligne "kerbang" n'a aucun effet, puisqu'il s'agit d'un commentaire pour Kermit. Dans VMS, toute référence aux « variables d'environnement » peut être satisfaite par des noms logiques ou des symboles DCL.

Les scripts de cette page sont uniquement à des fins d'illustration et ne comportent aucune garantie, expresse ou implicite.

Haut

SCRIPT POUR TÉLÉCHARGER DES SCRIPTS

Depuis janvier 2014, un nouveau script est disponible qui simplifie le téléchargement de scripts depuis la bibliothèque de scripts Kermit et leur installation sur votre propre ordinateur. Il s'appelle getkermitscript , CLIQUEZ ICI pour le voir (et le télécharger). Vous pouvez utiliser ce script sur un ordinateur Unix sur lequel C-Kermit 8.0 ou version ultérieure est installé pour télécharger et installer les scripts Kermit à partir d'ici en une seule commande telle que « getkermitscript photogallery.ksc ». Quelques points à garder à l’esprit :

  1. Tous les noms de fichiers de script de la bibliothèque Kermit sont tous en minuscules. Le script getkermitscript le sait et met en minuscules tout argument que vous pourriez avoir mis en majuscule.
  2. Les scripts de la bibliothèque de scripts sont stockés sans aucune extension, même si vous pouvez les voir appelés nom .ksc .

CLIQUEZ ICI pour obtenir des instructions complètes.

Haut

TUTORIEL DE SCRIPT

  1. Pour une introduction à C-Kermit , CLIQUEZ ICI .
  2. Pour une introduction à Kermit 95 , CLIQUEZ ICI .

Le langage de script Kermit est un langage de programmation similaire à Perl, mais avec une syntaxe différente (car le langage Kermit est antérieur à Perl et à de nombreux autres langages de script). Le langage Kermit est portable sur UNIX (Linux, AIX, HP-UX, Solaris, FreeBSD, IRIX, SINIX, QNX, SCO, Tru64 et toutes les autres variantes UNIX connues ), 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 et autres plates-formes, et fonctionne uniformément sur les connexions série (directes ou composées) et les connexions réseau (texte clair ou sécurisé). Ainsi, apprendre la langue est un bon investissement de votre temps puisqu’elle peut être appliquée à presque tous les problèmes de communication. Le langage de script Kermit est documenté dans le livreEn utilisant C-Kermit , mais bien sûr, de nombreuses améliorations ont été apportées depuis la publication du livre, qui sont expliquées dans les mises à jour pour la version 7.0 , la version 8.0 et la version 9.0 , et illustrées par des exemples de scripts répertoriés ci-dessous.

Le langage de script Kermit est facile à apprendre si vous utilisez déjà Kermit, car il est identique au langage de commande de Kermit . Un programme de script Kermit est simplement une série de commandes Kermit rassemblées dans un fichier ou une macro. Pour exécuter le script, vous dites à Kermit de PRENDRE le fichier ou de FAIRE la macro. Ou sous UNIX, vous pouvez également l'exécuter comme s'il s'agissait d'un script shell, comme décrit en haut de cette page . Dans les deux cas, vous pouvez transmettre des paramètres au script dans la commande qui l'invoque.

Lorsque vous utilisez Kermit "manuellement" , c'est-à-dire en interagissant directement avec l'hôte, vous établissez généralement une connexion (SSH, TELNET, DIAL, etc.), puis interagissez directement avec l'autre ordinateur, en basculant entre l'écran de commande Kermit et le terminal. écran. La commande pour passer de l’écran de commande à l’écran du terminal est CONNECT (C est une abréviation suffisante). Le retour de l'écran du terminal à l'écran de commande nécessite une "séquence d'échappement" spéciale telle que Ctrl- \ C, Ctrl -] C ou Alt-x (Alt-x est utilisé dans Kermit 95 et MS-DOS Kermit). Notez que la commande TELNET de Kermit est un raccourci pour SET HOST suivi de CONNECT ; c'est-à-dire que TELNET inclut une commande CONNECT implicite.

Lors de l'automatisation d'une session , vous ne basculez pas entre les « écrans » ; vous ne vous CONNECTEZ pas ou ne vous échappez pas. Dans un script, tout se fait en mode commande. Il n'y a pas d'écran de terminal dans un script. Au lieu de CONNECT (ou TELNET, ou RLOGIN, ou SSH), utilisez les commandes suivantes , qui indiquent à Kermit de faire ce que vous feriez « à la main » :

SET HOST [commutateurs] nom d'hôte ou adresse [commutateurs]

Ouvrez une connexion réseau mais restez en mode commande, c'est à dire sans accéder à l'écran Terminal ou au mode CONNECT. Utilisez-le à la place de TELNET, CONNECT, SSH ou toute autre commande qui accéderait à l'écran du terminal. Synonyme : OPEN HOST (ce qui pourrait être plus évocateur de l'action effectuée).

Pour les connexions série ou modem, utilisez :

DÉFINIR LE TYPE DE MODEM [nom du modem ou AUCUN ]

SET LINE nom de l'appareil

SET SPEED interface-vitesse

[ COMPOSER le numéro de téléphone ]

Ouvrez une connexion série directe ou composée mais restez en mode commande. Notez que lorsque la commande DIAL est exécutée à partir d'un fichier de commande ou d'une macro, elle ne passe pas automatiquement en mode CONNECT.

La commande DIAL de Kermit passe l'appel en envoyant les commandes appropriées au modem, normalement des commandes AT, et en lisant les réponses. La commande SET MODEM TYPE, qui doit être donnée avant la commande DIAL, indique à Kermit de quel type de modem il s'agit afin qu'il connaisse le jeu de commandes spécifique à utiliser. Dans C-Kermit et Kermit 95, il n'est normalement pas nécessaire de scripter le dialogue avec le modem ; tout cela est déjà intégré à Kermit. Pour plus d’informations, consultez le manuel ou tapez HELP DIAL, HELP SET DIAL et HELP SET MODEM.

Si toutefois vous avez besoin de créer un script pour une telle boîte de dialogue – par exemple pour envoyer des pages alphanumériques ou des messages SMS – vous pouvez le faire. L'astuce est qu'avant d'exécuter la première commande INPUT ou OUTPUT (expliquée ci-dessous), vous devez dire à Kermit de SET CARRIER-WATCH OFF. Exemple:

RÉGLER LE TYPE DE MODEM AUCUN

DÉFINIR LA LIGNE /dev/ttyS0

SI ÉCHEC QUITTER 1 "Périphérique non disponible"

RÉGLER LA VITESSE 57600

REGLAGE DE CONTROLE DE DEBIT RTS/CTS

DÉSACTIVER LA MONTRE-PORTEUR

SORTIE À\13

ENTRÉE 3 OK

Tapez HELP SET CARRIER-WATCH pour une brève explication.

Une fois la connexion ouverte, utilisez les commandes suivantes pour simuler ce que vous feriez de manière interactive :

Chaîne de délai d'attente INPUT

Attendez jusqu'à quelques secondes d'expiration pour que la chaîne donnée arrive de l'autre ordinateur. Si elle arrive, cette commande réussit ; sinon la commande échoue. Exemple: Connexion INPUT 10 : La commande INPUT peut accepter non seulement des chaînes simples mais également des modèles . Une forme alternative, MINPUT, accepte une liste de chaînes de correspondance et/ou de modèles.

RÉGLER L'ÉCHO D'ENTRÉE SUR ON

Normalement, vous ne voyez pas de boîtes de dialogue scriptées sur votre écran. Utilisez cette commande pour vous permettre de voir ce que Kermit et l'hôte se disent. Cela n'affecte pas le fonctionnement du script, seulement ce que vous pouvez voir.

Commande SI ÉCHEC

Si la commande précédente (SET HOST, INPUT ou toute autre commande) a échoué, exécutez la commande donnée .

Exemple: SI ÉCHEC QUITTER 1 "Aucune invite de connexion" . La commande peut être une liste de commandes entourées d'accolades, et l'instruction IF peut également avoir une partie ELSE, qui peut également être une commande unique ou une liste de commandes.

Commande SI SUCCÈS

Si la commande précédente a réussi, exécutez la commande donnée .

STOP [ nombre [ chaîne ] ]

Arrêtez le script et revenez à l'invite Kermit. Le nombre est un code de réussite : 0 pour le succès, différent de zéro pour l'échec ; la commande qui a invoqué le fichier de commandes actuel (TAKE) ou la macro (DO ou "DO implicite") peut être testée avec IF SUCCESS ou IF FAILURE en fonction de ce code. Si une chaîne est incluse, elle est imprimée.

FIN [ nombre [ chaîne ] ]

Comme STOP, mais fait apparaître la pile de commandes d'un seul niveau au lieu de revenir tout en haut. Utilisez-le pour revenir plus tôt d'une macro ou d'un fichier de commandes à son appelant. Synonyme : POP.

QUITTER [ numéro [ chaîne ] ]

Arrête le script et quitte Kermit. Le numéro est le code d'état de sortie de Kermit, normalement 0 pour le succès, différent de zéro pour l'échec. Si un message est donné, il est imprimé.

Chaîne de SORTIE

Envoyez la chaîne donnée à l'autre ordinateur. Les caractères de contrôle peuvent être inclus dans la chaîne en utilisant \ dddnotation (où les d sont des chiffres et ddd représente le code numérique du caractère de contrôle .

Exemple : SORTIE olga\13

Chaîne LINEOUT

(C-Kermit 7.0 et versions ultérieures ; Kermit 95 1.1.20 et versions ultérieures) Puisqu'il est très courant d'afficher une ligne avec un retour chariot à la fin, cette commande le fait pour vous, vous n'avez donc pas besoin de vous rappeler d'inclure \13 a la fin. alignement foo est équivalent à sortir foo\13 .

INPUT remplace vos yeux , OUTPUT remplace vos doigts et IF remplace votre cerveau .

Le reste est une programmation régulière : FOR, WHILE, SWITCH, GOTO, variables, tableaux, fonctions, structure de bloc, imbrication, portée et le reste, répertoriés ICI et documentés dans le manuel (tout comme tout autre langage de programmation est documenté dans son propre manuel).

Voici un exemple très simple d'établissement d'une connexion Telnet à UNIX et de connexion :

définir l'hôte foo.bar.baz.com ; Faire le lien

en cas d'échec, arrêtez 1 La connexion a échoué ; Vérifiez qu'il a été fait

entrez 20 connexion : ; Attendez 20 secondes pour la connexion : invite

en cas d'échec, arrêt 1 Aucune invite de connexion ; Vérifiez qu'il est arrivé

afficher monIDutilisateur\13 ; ou "lineout monIDutilisateur"

saisissez 5 Mot de passe : ; Attendez 5 secondes pour l'invite Mot de passe :

en cas d'échec, arrêtez 1 Aucune invite de mot de passe ; Vérifiez qu'il est arrivé

afficher mon mot de passe\13 ; ou "ligner mon mot de passe"

Ceci illustre comment vos actions sur l'écran du terminal sont simulées par INPUT (yeux), OUTPUT (doigts) et IF (cerveau). Il peut être élaboré à n'importe quel degré : pour utiliser des variables au lieu de constantes pour l'hôte, le nom d'utilisateur ou le mot de passe ; pour demander le mot de passe afin que vous n'ayez pas à le stocker dans un fichier ; pour tenter une sorte d'action de récupération si une commande échoue au lieu de simplement s'arrêter, et ainsi de suite. Et bien sûr, vous pouvez ajouter d'autres étapes : transférer un fichier, envoyer un e-mail, tout ce que vous voulez.

La syntaxe du langage de programmation Kermit devrait être familière à toute personne utilisant d'autres langages de script tels que le shell UNIX. Il s'agit d'un langage de substitution de chaîne , donc un "caractère d'échappement" (barre oblique inverse) est utilisé pour indiquer la substitution de chaîne. Étant donné que de nombreux types d'éléments peuvent être substitués, la barre oblique inverse est suivie d'un deuxième caractère pour indiquer le type de substitution à effectuer : une variable scalaire, un élément de tableau, un résultat de fonction, un caractère spécial, etc. Exemples:

\%un Une variable scalaire définie par l'utilisateur, évaluée de manière récursive
\m( nom ) Une variable scalaire définie par l'utilisateur, évaluée à un niveau de profondeur
\v( nom ) Une variable intégrée (telle que \v(heure) , "show var" pour une liste)
\&a[1] Un élément de tableau, évalué de manière récursive
\f nom ( arguments ) Une invocation de fonction ("show func" pour une liste, "help func xxx" pour les détails de la fonction xxx)
\x0F Un caractère dont le code est le nombre hexadécimal donné ( 00-ff )
\123 Un caractère dont le code est le nombre décimal donné (0-255)
\\ Une contre-oblique littérale.
( CLIQUEZ ICI pour une explication plus détaillée de cette notation.)

Cela devrait vous donner une idée de la façon de lire les scripts de la bibliothèque et de comment écrire un script simple ou en adapter un à vos besoins. Pour une brève description d'une commande ou d'une fonction Kermit particulière, utilisez la commande HELP de Kermit. Pour obtenir une description d'une fonction intégrée, tapez « fonction d'aide xxx » à l'invite, où xxx est le nom de la fonction. Pour un traitement approfondi, veuillez consulter le manuel .

Enfin, rappelez-vous :

  1. Ne placez pas de commande CONNECT dans un script à moins que vous souhaitiez réellement suspendre l'exécution du script et confier le contrôle manuel à l'utilisateur. Et rappelez-vous que la commande CONNECT ne peut fonctionner que si le travail dispose d'un terminal de contrôle ; il ne peut pas fonctionner dans une tâche batch ou cron où il n'y a pas de terminal.
  2. Vous ne pouvez pas mettre de texte pour l'hôte "en ligne". Kermit lit les commandes du script, pas le texte pour l'hôte. Pour envoyer du texte à l'hôte, utilisez la commande OUTPUT ou TRANSMIT.
  3. L'hôte TELNET est un raccourci pour l'hôte SET HOST , SI SUCCESS CONNECT. Étant donné que TELNET inclut une commande CONNECT implicite, ne placez pas de commande TELNET dans votre script à moins que vous souhaitiez vraiment suspendre l'exécution du script et confier le contrôle manuel à l'utilisateur. De même pour SSH et RLOGIN. Dans un script, utilisez plutôt SET HOST, avec les commutateurs appropriés (si nécessaire) pour indiquer le type de connexion. AIDE À DÉFINIR L'HÔTE pour plus de détails.
  4. Pour plus d'exemples, consultez la bibliothèque ci-dessous et consultez également les études de cas C-Kermit . Consultez également la FAQ C-Kermit , « Pourquoi mon script ne fonctionne-t-il pas ? ».

Haut de la page Contenu C-Kermit Kermit 95 Accueil Kermit

LA BIBLIOTHÈQUE DE SCRIPTS KERMIT

Ajouts récents

  1. Galerie de photos
    août 2013, avec mises à jour ultérieures. Un script de production pour créer, modifier et mettre à jour des galeries d'images pour le Web. C-Kermit 9.0 ou version ultérieure requis. Ceci remplace le script d'album photo précédent , qui n'était qu'une démo, non adaptée à la production.
  2. html
    Un programme qui convertit un fichier texte brut en une page Web. Contrairement à tous les autres scripts présentés ici, celui-ci peut être utilisé dans un pipeline Unix.
  3. Rappeler
    Un programme de rappel simple qui peut être invoqué à partir de votre profil de connexion, ou directement, ou de toute autre manière que vous souhaitez. Illustre certaines fonctions de gestion des dates de C-Kermit (conversion de format, comparaison, tri). Le texte d'aide est ICI .
  4. Replacetextblock
    Février 2014. Un moyen automatisé de remplacer un bloc de texte (tel qu'un avis de droit d'auteur multiligne) dans tous les fichiers qui le contiennent. C-Kermit 9.0 ou version ultérieure.
  5. Getkermitscript
    janvier 2014. Un script Kermit pour télécharger des scripts Kermit à partir de la bibliothèque de scripts Kermit et les installer sur votre ordinateur sans avoir à les modifier ou à donner d'autres commandes (auparavant, il fallait toujours modifier la "ligne kerbang" et modifier les autorisations ). Unix uniquement pour l'instant. Nécessite C-Kermit 8.0 ou version ultérieure. Mis à jour en 2022 pour contourner la disparition du protocole FTP d'Internet.
  6. Jpginfo
    septembre 2013. Produit une liste de répertoires de fichiers image JPG qui inclut (pour chaque fichier) la date de prise, la largeur, la hauteur et s'il s'agit d'un portrait ou d'un paysage.
  7. Renamejpgs
    Avril 2013. Un script pour renommer les fichiers JPG en fonction du « temps pris » ou du « temps créé ». Cela permet aux images provenant de plusieurs sources ou dont les noms de fichiers ont été « enroulés » d'apparaître dans l'ordre chronologique par nom de fichier. C-Kermit 9.0.304 requis.
  8. ilosetup
    2009-2011. Un script de production pour configurer les serveurs HP Blade via leur interface Integrated Lights Out (iLO).
  9. CBX
    Une suite de scripts pour extraire des rapports d'un Rolm CBX. C-Kermit 8.0 ou version ultérieure ou Kermit 95 2.1 ou version ultérieure.
  10. Ksitemap
    Kermit crée un plan de site pour un site Web basé sur un simple fichier de contrôle que vous créez, indiquant les fichiers et les images que vous souhaitez inclure. Les extensions de plan de site Google Image sont prises en charge. Si votre fichier de contrôle contient du texte codé au format ISO 8859-1 ou d'autres jeux de caractères couramment utilisés, Kermit le convertit en UTF-8, qui est requis dans les plans de site. Documenté ICI . Nécessite C-Kermit 9.0 .
  11. Weblog
    Lit un journal Web TSV (Tab-Separated Record) pour un site Web bilingue espagnol-anglais, extrait les recherches Google, normalise autant que possible le jeu de caractères et la capitalisation des chaînes de recherche et imprime les 20 principales recherches, ainsi que leurs décomptes. . Documenté ICI . Nécessite C-Kermit 9.0 . [Depuis octobre 2011, ce script est en grande partie académique car Google n'inclut plus le texte de recherche dans ses paramètres d'URL.]
  12. ifdef
    Un script simple pour vérifier la structure #if/#ifdef/#ifndef..#endif dans un fichier de code source C.
  13. ifdef2
    Comme ifdef mais affiche également #define et #undef.
  14. cmp
    Macro pour comparer deux nombres de n'importe quelle longueur, entier ou à virgule flottante, signés ou non signés, même s'ils sont plus longs que la taille des mots de la machine sous-jacente. Nécessite C-Kermit 8.0 ou version ultérieure ou K95 2.0 ou version ultérieure.
  15. twoscomplementv3
    Macros pour convertir des chaînes de nombres décimaux signés au format hexadécimal de complément à deux et vice versa. Effectue sa propre arithmétique de chaîne et n'est donc pas limitée par la taille du mot machine ou le modèle de mémoire. Tel qu'il est écrit, il peut gérer des entiers allant jusqu'à 128 bits. Évidemment, celui-ci fonctionne plus lentement que twoscomplementv1 , qui utilise l'arithmétique machine. Nécessite C-Kermit 8.0 ou version ultérieure ou K95 2.0 ou version ultérieure. (Le script twoscomplementv2 converti uniquement dans un sens, cette version inclut les deux sens.)
  16. twoscomplementv1
    Un script pour convertir les chaînes de nombres décimaux signés au format complément à deux et les afficher en hexadécimal. Utilise l'arithmétique machine afin que les résultats soient limités par la taille des mots sous-jacents et le modèle de mémoire (par exemple 32 bits). Nécessite C-Kermit 8.0 ou version ultérieure ou K95 2.0 ou version ultérieure.
  17. Survey
    Script CGI pour le traitement d'un formulaire Web (dans ce cas, un sondage ).
  18. webindex
    Crée un index Web à partir du site FTP Kermit, des milliers de fichiers transformés en liens cliquables. Nécessite C-Kermit 9.0 ou version ultérieure.
  19. pop.ksc Un script de production entièrement élaboré pour récupérer son courrier depuis un serveur POP3 via une connexion sécurisée par SSL. Pour des explications et de la documentation, CLIQUEZ ICI . Nécessite C-Kermit 9.0 ou version ultérieure. J'ai utilisé ceci (et le script suivant, mailcheck) moi-même pour récupérer mon courrier électronique toute la journée, jusqu'à ce que Columbia passe de la messagerie Unix traditionnelle à Gmail.
  20. mailcheck Un wrapper pour le script pop.ksc , qui collecte votre mot de passe une fois, puis vérifie les nouveaux messages toutes les 5 minutes (ou à tout autre intervalle sélectionné) et les récupère s'il y en a.

Scripts FTP :

Depuis 2022, ceux-ci ne sont plus utiles dans la plupart des cas, car le protocole FTP et les serveurs ont été purgés d'Internet.

  1. Introduction aux scripts FTP
    Comment automatiser les sessions FTP avec C-Kermit 8.0 et Kermit 95 2.0 ou version ultérieure. Le FTP lui-même est passé de mode, ce qui est dommage, mais certains endroits disposent toujours de serveurs FTP auxquels vous pouvez accéder à partir d'un client FTP en mode texte (mais pas à partir d'un navigateur Web comme Chrome ou Firefox).
  2. ibm_infoexchange
    Établit une connexion FTP sécurisée à IBM InfoExchange. Une version sécurisée de Kermit 95 2.0 (ou version ultérieure) ou C-Kermit 8.0 (ou version ultérieure) est requise.
  3. ftprename
    Multiple Rename : montre comment renommer une liste de fichiers sur un serveur FTP. Nécessite Kermit 95 2.0 (ou version ultérieure) ou C-Kermit 8.0 (ou version ultérieure).
  4. ftpdirectory(*)
    Comment obtenir une liste de répertoires à partir d'un serveur FTP qui affiche l'horodatage complet de chaque fichier. Nécessite Kermit 95 2.0 ou C-Kermit 8.0 (ou version ultérieure).
  5. usend
    Montre comment envoyer un fichier à un serveur FTP avec un nom unique garanti, même si le serveur ne prend pas en charge STOU. Nécessite Kermit 95 2.0 (ou version ultérieure) ou C-Kermit 8.0 (ou version ultérieure).
  6. rawhide
    Téléchargement quotidien de nouveaux RPM depuis le serveur Red Hat Linux Rawhide. Kermit 95 2.0 (ou version ultérieure) ou C-Kermit 8.0 (ou version ultérieure).
  7. ftpsyncdown
    Utilise FTP pour synchroniser un répertoire local avec un répertoire de serveur distant. Télécharge les nouveaux fichiers et les fichiers qui ont été modifiés, ignore les fichiers qui n'ont pas changé, supprime les fichiers locaux qui n'ont pas d'équivalent sur le serveur. Fonctionne sur toutes les plates-formes (client Windows ou Unix ; Unix, VMS, Windows ou la plupart des autres serveurs) ; La commutation de mode texte-binaire est gérée automatiquement. Kermit 95 2.0 (ou version ultérieure) ou C-Kermit 8.0 (ou version ultérieure).
  8. ftpsyncup
    Utilise FTP pour synchroniser une arborescence de répertoires de serveur distant avec une arborescence de répertoires locale. L'arborescence des répertoires locaux est dupliquée sur le serveur. Télécharge les nouveaux fichiers et les fichiers qui ont été modifiés, ignore les fichiers qui n'ont pas changé. Fonctionne sur toutes les plates-formes via la commutation automatique du mode texte-binaire. Kermit 95 2.0 (ou version ultérieure) ou C-Kermit 8.0 (ou version ultérieure).

Autres scripts Internet :

  1. kwhois
    Un WHOIS simple en une étape, une interface à l'utilitaire whois classique permettant de rechercher n'importe quel domaine en une seule étape plutôt que deux.
  2. accès à distance
    Comment présenter une interface orientée commandes aux utilisateurs accédant à Kermit directement de l'extérieur : connexion commutée (ANSWER), Internet (SET HOST *), ou même avec Kermit exécuté en tant que service sous inetd. Dans ces situations, il n'y a pas de pilote de terminal, donc Kermit doit gérer lui-même l'écho et l'édition, ainsi que l'analyse des commandes et leur exécution. Cet exemple implémente un simple "BBS" où l'utilisateur peut obtenir des listes de fichiers et télécharger des fichiers. Fonctionne avec n'importe quelle version récente de C-Kermit ou Kermit 95.
  3. skermit(*)
    Client pour un transfert et une gestion de fichiers C-Kermit Sous-système SSH : une alternative plus puissante, plus conviviale et scriptable à SFTP. CLIQUEZ ICI pour la documentation. C-Kermit 8.0.201 ou K95 2.0 (ou version ultérieure) requis.
  4. autossh(*)
    Effectue une session SSH automatisée. C-Kermit 8.0 ou K95 2.0 ou version ultérieure requis.
  5. autotelnet(*)
    Établit une connexion Telnet automatisée. C-Kermit 7.0 ou K95 1.1.19 ou version ultérieure requis. Telnet a pratiquement disparu de la surface de la terre, même s'il est de loin supérieur à SSH. Des versions sécurisées de Telnet ont été créées, mais personne ne les utilise et elles ont désormais également disparu. "Le mal chasse le bien".
  6. autotelnet6(*)
    Établit une connexion Telnet automatisée. Identique à "autotelnet" mais n'utilise aucune nouvelle fonctionnalité de C-Kermit 7.0. C-Kermit 6.0 ou K95 1.1.13 ou version ultérieure requis.
  7. portlog(Intrusion Detection)
    Absorbe et enregistre sans danger les attaques sur le port TCP 80, telles que Code Red et Nimda. Se réinitialise toutes les heures, auquel moment il (a) télécharge également le journal horaire sur un site FTP sélectionné ; (b) envoie par courrier électronique un résumé à une adresse sélectionnée. Il peut écouter sur le port TCP 80 ou sur tout autre port TCP souhaité. Fonctionne bien sur le port 80 avec Code Red, Code Red II et Nimda. Nécessite : C-Kermit 8.0 .
  8. pop3(*)
    Récupère les e-mails d'un serveur POP3. C-Kermit 7.0 requis. Par Mark Sapiro. Consultez également le nouveau script POP3 sécurisé .
  9. netedit
    Modifie un fichier distant à l'aide de l'éditeur de votre ordinateur local. C-Kermit 7.0 ou K95 1.1.19 requis.
  10. iksget(*)
    Obtient un ou plusieurs fichiers d'un serveur Internet Kermit. C-Kermit 7.0 requis. Aucun script n'est nécessaire dans C-Kermit 8.0 ou K95 2.x, qui prennent en charge Kermit:// URL sur la ligne de commande (URL FTP, HTTP et Telnet également).
  11. iksdpy(*)
    Le moniteur d'affichage en temps réel du démon du service Internet Kermit. C-Kermit 7.0 ou K95 2.0 ou version ultérieure requis.
  12. timestamp(*)
    Ajoute des horodatages à l'affichage du journal système basé sur Telnet. C-Kermit 7.0 ou K95 1.1.19 requis. Remarque : C-Kermit 8.0 et Kermit 95 2.0 et versions ultérieures disposent d'une option intégrée pour les journaux de session horodatés .
  13. linksys(*)
    Utilisé avec un routeur câble/DSL Ethernet Linksys pour récupérer l'adresse IP à utiliser avec l'authentification Kerberos 5 lorsque la traduction d'adresses réseau (NAT) est activée. C-Kermit 8.0 requis.
  14. Scripts de journalisation :
  15. logport
    Enregistre les données entrant dans un port série. Pratique pour enregistrer les enregistrements d'appels PBX, les messages sur les ports de contrôle des routeurs, etc. Nécessite C-Kermit 8.0.211 ou version ultérieure.
  16. daily-session-log
    Enregistre les données entrantes sur tout type de connexion (en supposant qu'une connexion est ouverte). Une élaboration du script logport qui fait tourner automatiquement le fichier journal chaque jour à minuit. Devrait fonctionner avec n’importe quelle version récente de K95 ou C-Kermit.

Scripts de modem :

  1. numérotation automatique
    Il s'agit du script de base de numérotation et de connexion automatique. Configure les paramètres du modem et de la communication, compose le numéro, négocie éventuellement via un serveur de terminaux, puis se connecte à un hôte Unix. Devrait fonctionner avec n'importe quelle version de C-Kermit ou Kermit 95.
  2. getline(*)
    Étant donné une liste de périphériques série utilisables pour les appels sortants, trouve et attribue le premier libre. C-Kermit 7.0 ou K95 1.1.19 ou version ultérieure requis.
  3. mpservers
    Étant donné une liste de serveurs de pool de modems TCP/IP, rassemble un recensement des ports utilisés et libres en leur envoyant des commandes « doigt » et en accumulant les résultats, à la fois par serveur et par numéro de téléphone, ainsi que cumulatif. Fonctionne sous UNIX. C-Kermit 8.0 requis.
  4. callstats
    Étant donné une liste de numéros de téléphone du pool de modems, passe des appels répétés à chacun et enregistre les résultats de chaque appel (BUSY, CONNECT 48000, etc.) par date et heure dans un format adapté à l'analyse statistique. Fonctionne sous UNIX, Windows 95/98/ME/NT/2000/XP ou VMS. C-Kermit 7.0 ou K95 1.1.19 ou version ultérieure requis.
  5. modemtest2(*)
    Étant donné une liste de numéros de téléphone du pool de modems, effectue des appels répétés vers chacun d'entre eux ; se connecte à un hôte spécifié, transfère les fichiers dans les deux sens et conserve un fichier journal des statistiques de connexion et de performances. Fonctionne sous UNIX, Windows 9x/ME/NT/2000/XP ou VMS. C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure requis. CLIQUEZ ICI pour une version antérieure qui fonctionne avec C-Kermit 7.0 et K95 1.1.19.
  6. dialout(*)
    Affiche un formulaire que l'utilisateur doit remplir pour sélectionner le type de modem, le port, la vitesse et le numéro de téléphone, puis compose le numéro sur commande de l'utilisateur. C-Kermit 7.0 ou K95 1.1.19 ou version ultérieure requis. Remarque : Il s'agit également d'un script de formatage d'écran .
  7. callbycall
    Un script de numérotation qui sélectionne le fournisseur d'appels longue distance le plus approprié en fonction de l'heure de la journée et qui passe également d'un fournisseur à l'autre en fonction des signaux d'occupation (au cas où le fournisseur lui-même serait occupé, plutôt que le numéro de destination). À utiliser avec SET DIAL MACRO. Par Peter Eichhorn, Assyst GmbH , Munich. C-Kermit 7.0 ou K95 1.1.19 requis.

Scripts de téléavertisseur :

  1. numpage(*)
    Script pour les bips ou les téléavertisseurs numériques. C-Kermit 7.0 ou K95 1.1.19 ou version ultérieure requis.
  2. alphapage(*)
    Script de pagination alphanumérique TAP/IXO (MISE À JOUR en mars 2003). C-Kermit 8.0 ou K95 2.0 ou version ultérieure requis.
  3. alphapage6
    Script de pagination alphanumérique TAP/IXO qui peut être utilisé par C-Kermit 6.0 ou K95 1.1.13 ou version ultérieure.
  4. malphapage(*)
    Le script de pagination alphanumérique TAP/IXO modifié par RM Almeria pour envoyer une série de pages, plutôt qu'une seule. C-Kermit 8.0 ou K95 2.0 ou version ultérieure requis.
  5. En savoir plus sur les téléavertisseurs

Scripts de formatage d'écran :

  1. bottom(*)
    Un simple script d'une ligne qui utilise C-Kermit pour placer le curseur sur la ligne du bas de votre écran. C-Kermit 7.0 ou K95 1.1.19 requis.
  2. menu(*)
    Squelette d'une application de menu. C-Kermit 7.0 ou K95 1.1.19 requis.
  3. Consultez également le script de numérotation , qui utilise des techniques de dessin d'écran.
  4. Scripts de capture d'écran :
  5. scrape
    Dans Kermit 95, les scripts peuvent interagir avec l'émulateur de terminal pour récupérer des chaînes à partir d'emplacements spécifiés sur l'écran du terminal, similaire à HLLAPI. Dans ce script, les formulaires d'écran sont analysés pour sélectionner et récupérer des images d'une base de données sur l'ordinateur hôte. Par Max Evarts. K95 1.1.17 ou version ultérieure requis.

Scripts de transfert de fichiers :

  1. capture virtuelle
    Capturez un fichier texte à partir d'un hôte VMS sans protocole de transfert de fichiers Kermit.
  2. livrer(*)
    Un script qui livre le ou les fichiers spécifiés à leur destination, même si la connexion est interrompue en cours de transfert. C-Kermit 6.0 ou K95 1.1.8 ou version ultérieure requis.
  3. synchroniser(*)
    Un script qui synchronise les arborescences de répertoires sur deux hôtes Internet via une connexion Telnet. Seuls les fichiers plus récents sur la source que sur la destination sont transférés. Les répertoires sont créés automatiquement selon les besoins à la destination. Les fichiers disparus de la source sont supprimés à la destination. N'importe quel mélange de fichiers texte et binaires peut être géré. Les deux hôtes n'ont pas besoin d'avoir le même système d'exploitation ou système de fichiers. L'hôte de destination est contacté et connecté automatiquement (il s'agit donc également d'un script Internet ) ; ainsi, toute l’opération peut se dérouler sans surveillance. C-Kermit 7.0 ou K95 1.1.19 requis.

Scripts de gestion de fichiers :

  1. concatenate
    Concatène tous les fichiers du répertoire courant en un seul gros fichier. Utile (par exemple) après avoir téléchargé un ensemble de fichiers de transactions EDI qui doivent être combinés pour que l'ordinateur puisse les traiter tous en même temps.
  2. rgrep(*)
    Répond à la question fréquemment posée : "Où est le grep récursif ?" Recherche dans les fichiers dans une arborescence de répertoires dont les noms correspondent au modèle donné et imprime toutes les lignes de tous les fichiers qui correspondent au modèle donné. C-Kermit 7.0 ou K95 1.1.19 requis. Remarque : Dans C-Kermit 8.0 , un script n'est plus nécessaire puisque GREP (incluant une option récursive) est une commande intégrée.
  3. rename(*)
    Un analogue sur une ligne du shell UNIX " pour je dans *; faire bof ; fait " boucle. C-Kermit 7.0 ou K95 1.1.19 requis. Cette fonctionnalité est intégrée à C-Kermit à partir de la version 8.0.211 ; CLIQUEZ ICI pour la documentation de la commande RENAME très étendue.
  4. changetype(*)
    Élaboration d' un script de renommage en script de changement de type de fichier à usage général ; les anciens et nouveaux types de fichiers ainsi que la liste des fichiers sont donnés comme arguments de ligne de commande, par exemple " changer le type aide SMS * " renomme *.hlp fichiers à *.SMS . C-Kermit 7.0 ou K95 1.1.19 requis. Cette fonctionnalité est également intégrée à C-Kermit à partir de la version 8.0.211 ; CLIQUEZ ICI pour plus de détails.
  5. delete(*)
    Répond à la question fréquemment posée "Comment supprimer des fichiers vieux de plus de n jours ?". C-Kermit 7.0 ou K95 1.1.19 requis.
  6. révision(*)
    Examinez les fichiers de manière interactive. Tout ce que vous avez toujours voulu dans un navigateur de fichiers en mode texte. C-Kermit 7.0 ou K95 1.1.19 requis.
  7. logrotate
    Fait pivoter les journaux de connexion sur une base mensuelle. C-Kermit 7.0 ou K95 1.1.19 requis.
  8. cleandups(*)
    Une application de gestion de fichiers assez complexe (utilisée en fait pour gérer la mise à jour et l'installation des binaires C-Kermit 7.0 Beta-test sur notre serveur ftp). C-Kermit 7.0 requis.
  9. install(*)
    Déplace les nouveaux binaires du test bêta C-Kermit d'une zone de préparation vers le site FTP, en supprimant les binaires correspondants des tests bêta précédents au fur et à mesure, afin de ne pas remplir le disque du serveur FTP. C-Kermit 7.0 requis.
  10. merge(*)
    Fusionne n'importe quel nombre de fichiers pré-triés en un seul fichier de sortie. Illustre le package d'E/S de fichiers de C-Kermit fonctionnant sur plusieurs fichiers à la fois. C-Kermit 7.0 requis.
  11. ftplog(*)
    Analyse un journal de transfert de fichiers au format wu-ftpd, qui est également créé par le format FTP SET TRANSACTION-LOG de C-Kermit. Répertorie les cinq fichiers les plus populaires et imprime également un histogramme du nombre de fichiers par nombre d'accès. Illustre des tableaux associatifs. C-Kermit 7.0 requis.

Scripts de calcul de chiffres :

  1. statistiques(*)
    Étant donné un fichier dans lequel chaque ligne contient une paire de nombres, X et Y, calcule et imprime le maximum, le minimum, la moyenne, la variance et l'écart type des X et Y, ainsi que le coefficient de corrélation de X et Y. Les nombres dans le fichier peuvent (mais pas nécessairement) comporter des points décimaux et des parties fractionnaires. Illustre les fonctions arithmétiques à virgule flottante introduites dans C-Kermit 7.0.
  2. xstats(*)
    Comme les statistiques , sauf implémenté (beaucoup plus simplement) à l'aide des S-Expressions C-Kermit 8.0 .

Arithmétique date-heure :

  1. Pâques(*)
    Calcule la date de Pâques pour toute année comprise entre 1900 et 2099 à l'aide des expressions S. Nécessite C-Kermit 7.0 ou version ultérieure ou K95 1.1.20 ou version ultérieure.
  2. easter2(*)
    Identique au précédent sauf qu'il utilise une nouvelle fonctionnalité de C-Kermit 8.0.212 qui force l'arithmétique des nombres entiers, qui est requise dans ce type de calcul.
  3. calendrier(*)
    Comme Unix 'cal' - imprime un calendrier pour n'importe quel mois de n'importe quelle année entre 1859 et 9999. Nécessite C-Kermit 8.0 ou version ultérieure ou K95 2.0 ou version ultérieure.
  4. supprimerancien
    Comment supprimer des fichiers plus anciens qu'un âge donné, dans le paramètre client/serveur.

Fichiers d'initialisation C-Kermit

  1. kermrc
    Le fichier d'initialisation C-Kermit autrefois standard. Inclut des définitions pour le répertoire de services avec des macros de connexion automatique pour diverses plates-formes et méthodes de communication. Il s'agit plus d'une démonstration du langage de script que d'une utilisation pratique.
  2. mykermrc
    Exemple de fichier de personnalisation C-Kermit. C-Kermit 6.0 ou version ultérieure requis.
  3. Augmentation du protocole Kermit :
  4. rmsg
    Implémentation de macro de la commande (manquante) REMOTE MESSAGE pour C-Kermit 8.0 et Kermit 95 2.0 ou version ultérieure.

Cartes clés :

  1. koikeys
    Configure un clavier « par son » pour les lettres cyrilliques à utiliser avec le mode clavier russe dans Kermit 95 . Cela permet la « saisie tactile » du cyrillique par les personnes possédant un clavier QWERTY (les lettres cyrilliques correspondent à des lettres romaines qui ont plus ou moins le « même son »). Le mode clavier russe normal utilise la disposition du clavier cyrillique standard, peu familière aux dactylos QWERTY. Toute version de Kermit 95 antérieure à environ 1.1.8 peut utiliser cette carte de touches. Pour voir une version de ce fichier de script qui affiche également la version cyrillique de chaque caractère, cliquez ici , mais vous devrez peut-être indiquer à votre navigateur que le codage du texte est utf-8 (même si cela est censé être le codage par défaut et préféré pour texte sur le Web). Et CLIQUEZ ICIpour une version HTML avec les caractères cyrilliques corrects que vous pouvez imprimer sur une seule page.
  2. Carte clé ar-medicare
    Kermit 95 requise pour accéder au centre de réclamations Medicare de l'État de l'Arkansas.

Scripts HTML

  1. html
    Convertit un fichier texte brut en HTML. Entièrement réécrit pour une utilisation en production en 2017.

Programmation orientée objet:

(Et d'autres techniques de programmation créatives.) Cette section par Dat Thuc Nguyen .

  1. guépard
    Programmation basée sur des règles dans Kermit : taxonomie animale. Nécessite C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure, ainsi que lemodule de moteur de règles .
  2. Rulebase
    Programmation basée sur des règles dans Kermit. Nécessite C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure.
  3. autorepair
    Démonstration de "rulebase". Nécessite C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure.
  4. Socrates
    Programmation de logique déclarative de type Prolog dans Kermit. Nécessite C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure.

  5. Modèles et prédicats symétriques . Nécessite C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure.
  6. simulation
    Simulation d'un magasin de glaces : Arrivées des clients, commandes des clients, départs des clients, le tout programmé sous forme d'objets. Nécessite la macro de classe définie ICI et C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure.
  7. dining-philosophers
    Le problème des philosophes de la restauration : sémaphore, processus, minuterie et concurrence. Nécessite la macro de classe définie ICI et C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure.
  8. manger-boire-philosophes
    Le problème des philosophes de la restauration, avec le vin !
  9. permute (*)
    Permutation de chaîne récursive. C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure requis.
  10. short_path
    Trouver le chemin le plus court à travers un réseau. Illustre les expressions S et les fonctions. C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure requis.
  11. fibonacci
    Fonctions de Fibonacci récursives et itératives. Illustre les expressions S et les fonctions. C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure requis.
  12. makechange
    Combien de façons de changer un dollar ? Illustre les expressions S et les fonctions. C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure requis.
  13. the8queens
    Le problème des 8 reines. Illustre des tableaux, des expressions S et des expressions booléennes composées. C-Kermit 8.0 ou Kermit 95 2.0 ou version ultérieure requis.
  14. revenue_tax
    Calcul de l'impôt sur le revenu. Illustre les expressions S, l'arithmétique à virgule flottante. C-Kermit 8.0 requis.
  15. hanoi
    Tours de Hanoï. Illustre les expressions S, la récursion. C-Kermit 8.0 requis.
  16. hanoi2
    Une version plus rapide des Tours de Hanoi. Illustre comment accélérer les fonctions récursives. C-Kermit 8.0 requis.
  17. classe
    Héberge la programmation orientée objet dans C-Kermit 8.0, elle utilise certaines fonctionnalités de S-Expression. C-Kermit 8.0 requis.

account
Une démo d'application qui utilise le même exemple que la plupart des dialectes Smalltalk utilisent comme introduction à la programmation orientée objet. Pour exécuter cette démo :
C-Kermit> prendre la classe

C-Kermit> prendre en compte

  1. C-Kermit 8.0 requis.
  2. shortcircuit
    Court-circuiter l'exécution des macros en série (a) pendant qu'elles réussissent toutes, (b) jusqu'à ce que l'une d'entre elles réussisse. C-Kermit 7.0 ou K95 1.1.19 requis.
  3. lispops
    Ce petit paquet définit une série d'opérateurs arithmétiques de type LISP pour C-Kermit et Kermit 95. C-Kermit 7.0 ou K95 1.1.19 requis (obsolète par la syntaxe LISP intégrée de C-Kermit 8.0 ).
  4. matrice
    La matrice est un élément essentiel dans de nombreux domaines informatiques. C-Kermit et Kermit 95 peuvent effectuer facilement des opérations matricielles. Ce script crée deux matrices, A et B, puis calcule leur somme : matrice C.
  5. noswitch
    "SWITCH considéré comme nocif"
  6. oop
    Programmation orientée objet en C-Kermit et Kermit 95. Amusez-vous avec les chiens et les chats.
  7. complexe
    Les nombres complexes ne sont pas un type intégré à de nombreux langages de programmation. Ici, la POO vient à la rescousse avec le type défini par l'utilisateur. Ce script définit une classe de nombres complexes dans C-Kermit, offrant l'interface C++ familière. C-Kermit 7.0 requis.
  8. wordcount(*)
    Le comptage de fréquence de mots est l'Excel des langages de script tels que awk et Perl. Avec la POO, C-Kermit gère également la tâche confortablement. Ce script définit et utilise la classe Words pour compter les occurrences de mots uniques d'un fichier texte brut. La classe Words protège les détails d'implémentation et favorise la réutilisation, le produit phare de la POO. C-Kermit 7.0 requis.
  9. héritage
    Aucun langage de programmation orienté objet ne quitte son domicile sans héritage. Ce script affiche l'héritage dans C-Kermit et Kermit 95.
  10. multiple
    L'héritage multiple enrichit la conception logicielle. Tous les langages POO ne l'ont pas : C++ le fait ; Java et Smalltalk ne le font pas. Ce script implémente l'héritage multiple dans C-Kermit. La célèbre classe animal que l'on retrouve dans de nombreuses références C++ et Smalltalk est utilisée pour présenter le sujet.
  11. bag
    Le conteneur est un concept clé en programmation orientée objet. Smalltalk, C++, etc. disposent de bibliothèques standard de conteneurs. Ce script définit la classe 'bag' dans C-Kermit/Kermit 95. Bag offre une interface d'utilisation riche.
  12. string
    Une classe de chaînes rudimentaire basée sur le modèle Smalltalk.
  13. sémaphore
    Nous utilisons des sémaphores pour coordonner des tâches informatiques, partager des ressources, etc. Ce script définit des classes de sémaphores dans les styles Smalltalk et C++. C-Kermit 6.0 / K95 1.1.17 requis.
  14. singleton
    Dans la communauté des patterns, le singleton est une classe qui ne peut avoir qu'une seule instance. Tous les objets instanciés à partir de cette classe font référence au seul et unique singleton ! Le singleton est très utile lorsqu'il n'y a qu'une seule ressource disponible et que diverses fonctions définies par l'utilisateur accèdent à cette ressource sous différentes références. La classe singleton garantit qu'un et un seul objet peut en être instancié, mais sous des noms différents.
  15. état
    La machine à états finis est un concept utile dans de nombreuses applications. Ce script suggère un cadre pour une machine à états.

Tests de torture en langage script :

  1. démo(*)
    Un "test de torture" interactif pour le langage de script de C-Kermit. C-Kermit 7.0 ou K95 1.1.19 requis.
  2. iftest(*)
    Exerciseur pour les expressions booléennes composées. C-Kermit 7.0 ou K95 1.1.19 requis.
  3. fonctions(*)
    Exerceur de fonctions. C-Kermit 7.0 ou K95 1.1.19 requis.
  4. localarray(*)
    Exerciseur de tableau local. C-Kermit 7.0 ou K95 1.1.19 requis.
  5. dates
    Exerciseur pour les formats date-heure et l'arithmétique. C-Kermit 7.0 ou version ultérieure requis. Script mis à jour le 26 avril 2020.
  6. sexp
    Exerciseur pour les expressions S et l'arithmétique à virgule flottante. C-Kermit 8.0 ou K95 2.0 requis.

Haut