Samouczek i biblioteka skryptów C-Kermit / Kermit 95

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

OSTATNIE SKRYPTY (szczegóły poniżej )

  • Konta
    , lipiec 2023 r. Dla emerytów mieszkających w mieszkaniu: śledź swoje dochody w porównaniu z czynszem rok po roku; zobacz, który z nich rośnie szybciej. Ilustruje, jak osadzić dane tabelaryczne w samym skrypcie, zamiast czytać je z pliku zewnętrznego; jak podzielić wiersz tabeli na elementy; jednoczesne użycie wielu tablic asocjacyjnych; jak symbolicznie adresować elementy tablicy asocjacyjnej; oraz użycie wyrażeń S, gdy potrzebne są wyniki zmiennoprzecinkowe (w tym przypadku wartości procentowe).
  • ckubuildlog
    czerwiec 2023. Tworzy wpis dla tabeli kompilacji C-Kermit 10.0 , która będzie używana po zbudowaniu wersji testowej Beta lub, jeśli o to chodzi, prawdziwej wersji 10.0, gdy będzie gotowa. Na razie tylko systemy operacyjne z rodziny Unix.
  • findmissinghtml
    marzec 2023. W przypadku witryn internetowych: wyszukuje brakujące strony zawierające pliki kopii zapasowych Emacsa, więc jeśli nie możesz nigdzie znaleźć prawdziwej strony, możesz przynajmniej przywrócić ją z najnowszej kopii zapasowej.
  • k95relay
    kwiecień 2022. Skrypt Kermit 95 służący do logowania się do hosta, którego serwer SSH nie obsługuje żadnego z szyfrów stosowanych przez klienta SSH K95, wykorzystując host lub podsystem Linux jako przekaźnik. Nie jest już potrzebne, ponieważ dostępny jest C-Kermit 10.0 dla Windows .
  • Fixfilelists
    maj 2021. Konwertuj stronę archiwum Kermita , aby nadal wyświetlała listy plików po konwersji łączy z ftp: na http: z powodu „wycofania” protokołu FTP przez główne przeglądarki internetowe w marcu-kwietniu 2021 r. Zasadniczo ten skrypt tworzy nazwy plików na liście katalogów klikalne, dzięki czemu można je zobaczyć lub pobrać.
  • Fotogaleria
    2013-2023 (projekt aktywny). Skrypt produkcyjny do tworzenia, modyfikowania i aktualizowania galerii obrazów w Internecie.
  • html
    Maj 2017. Konwertuje pliki zwykłego tekstu na HTML. Jest to także pierwszy skrypt Kermita, którego można używać w potokach Uniksa.
  • Przypomnij
    2016. Prosty program przypominający, który można wywołać ze swojego profilu logowania.
  • Getkermitscript
    2014. Automatyczne pobieranie i instalacja skryptów z biblioteki skryptów Kermit. Zaktualizowano w 2022 r., aby „być zgodnym” z „wycofywaniem” protokołu FTP do pobierania.
  • Zamieńtextblock
    2014. Zautomatyzowany sposób zamiany bloku tekstu (takiego jak wielowierszowa informacja o prawach autorskich) we wszystkich plikach, które go zawierają.
  • Jpginfo
    2013. Tworzy listę katalogów plików obrazów JPG, która pokazuje datę wykonania, szerokość, wysokość oraz informację, czy jest to portret czy poziom.
  • Renamejpgs
    2013. Skrypt zmieniający nazwy plików JPG (np. z aparatów, skanerów lub telefonów komórkowych) zgodnie z „czasem potrzebnym” lub „czasem utworzonym”. Można zmienić nazwy kilku obrazów z różnych urządzeń w kolejności daty i godziny.

PRZEDMOWA

Kiedy to piszę, coraz mniej osób wie, kim jest Kermit; jeśli to dotyczy Ciebie, możesz kliknąć tutaj , aby zapoznać się z przeglądem. Okres świetności Kermita przypadł na lata 80. i 90. XX wieku, kiedy prawie wszyscy, którzy używali komputerów do komunikacji z innymi komputerami, używali Kermita jako emulatora terminala i do przesyłania plików. C-Kermit dla Uniksa i VMS oraz MS-DOS Kermit dla DOS zostały opracowane w tandemie. Gdy zaczęliśmy dodawać możliwości automatyzacji, język skryptowy był wspólny dla obu programów. Kiedy pojawił się Kermit 95 dla Windows, miał ten sam język skryptowy, ponieważ jest zbudowany na C-Kermit.

Początkowo język skryptowy był przeznaczony do zadań komunikacyjnych i przesyłania plików, ale z biegiem czasu rozwinął się w język programowania ogólnego przeznaczenia w skali gdzieś pomiędzy skryptami powłoki a Perlem, z fragmentami skryptów powłoki Uniksa, C , Bliss , Lisp , Snobol , Algol i PL/I zmieszane z pętlami, zmiennymi, tablicami, funkcjami, arytmetyką, tablicami asocjacyjnymi, rekurencją, logiką boolowską, manipulacją ciągami, we/wy i zarządzaniem plikami, dopasowywaniem wzorców, przetwarzaniem list i tak dalej .

Obecnie można pisać programy skryptowe Kermita, które wykonują prawie wszystko, niezależnie od tego, czy wiąże się to z komunikacją, czy nie (a jeśli wymaga komunikacji, może to odbywać się za pośrednictwem połączeń szeregowych, połączeń sieciowych w postaci zwykłego tekstu lub bezpiecznych połączeń sieciowych). Obecnie głównymi zastosowaniami Kermita są administracja systemami i stronami internetowymi oraz tworzenie stron internetowych. Poniżej możesz zobaczyć wiele przykładów skryptów produkcyjnych w tych obszarach.

Mówiąc za siebie, programuję od połowy lat 60-tych, biegle władam wieloma językami programowania i żałuję, że wszystkie z wyjątkiem C nie wymarły (bardzo brakuje PL/I, Snobolu i Mainsail; są to były mocne, stabilne, spójne i dobrze udokumentowane). Dzisiejsze wybory (C, skrypty powłoki itp.) są ruchomymi celami; programy napisane w tych językach nie pozostają zapisane ; zanikają z biegiem czasu, gdy języki i powiązane z nimi biblioteki i narzędzia są stale redefiniowane. Dlatego teraz wszystkie moje programy (z wyjątkiem samego C-Kermita oczywiście) piszę w języku Kermit... Ponieważ sam język się nie zmieniaw sposób niekompatybilny wstecz, tak że „stare” skrypty nigdy nie muszą być „uaktualniane”, po prostu działają dalej, nawet po wydaniu nowych wersji samego Kermita. A także dlatego, że ilekroć pojawia się błąd w języku, mogę go sam naprawić, a gdy jest coś, co muszę zrobić, a czego nie ma w tym języku, mogę to sam dodać. Zawsze w sposób kompatybilny wstecz.

Jak dotąd nie ma spójnego podręcznika dla języka Kermit. Wszystko jest gdzieś udokumentowane, ale jest rozproszone po książkach (które są teraz w Internecie ) i szeregu stron internetowych . W lipcu 2019 przygotowałem obszerny przewodnik zawierający wszystkie informacje. To jest jak spis treści ; TUTAJ JEST . Tymczasem ta strona (ta, którą czytasz) jest całkiem dobrym miejscem na początek: znajdź skrypt, który robi coś podobnego do tego, co chcesz zrobić i użyj go jako przewodnika. A kiedy zobaczysz polecenie lub funkcję, której nie rozumiesz, użyj wbudowanego polecenia HELP C-Kermita, aby się o tym dowiedzieć:

pomoc ?

Wyświetla tematy pomocy

polecenie pomocy

Podaje informacje o danym poleceniu

pomóż ustawić polecenie

Podaje informacje o danym poleceniu SET

nazwa funkcji pomocy

Podaje informacje o danej funkcji wbudowanej.

Skorzystaj także z okna dialogowego wyszukiwarki Google na stronie głównej i wypróbuj nowy „ Spis treści ”.

—Frank da Cruz, dzień majowy 2017, aktualizacja 29 sierpnia 2019.

WSTĘP

Język poleceń i skryptów C-Kermit i Kermit 95 opisano w Using C-Kermit , wydanie 2, uzupełnione Dodatkami C-Kermit 7.0 , Dodatkami C-Kermit 8.0 i Dodatkami C-Kermit 9.0 . Przeglądy i tutoriale można także znaleźć TUTAJ ogólnie dla Kermita i TUTAJ w szczególności dla Kermita 95.

Oprogramowanie Kermit pojawiło się po raz pierwszy w 1981 roku dla mikrokomputerów CP/M oraz komputerów mainframe DECSYSTEM-20 i IBM. A wkrótce potem dla komputerów IBM (i innych) z systemem MS-DOS, a potem dla coraz bardziej odrębnych platform komputerowych , zwłaszcza Unix i Microsoft Windows . Język poleceń, składnia oraz (w większości przypadków) edycja poleceń i pomoc zostały zaadaptowane z TOPS-20 EXEC, czyli interfejsu użytkownika (lub „powłoki” we współczesnym żargonie) DECSYSTEM-20, który był głównym platforma do obliczeń akademickich w Kolumbii od 1977 do 1988. Godne uwagi funkcje obejmują pomoc dotyczącą poszczególnych pól po znaku „?”, uzupełnianie słów kluczowych i nazw plików po klawiszu Tab lub Esc oraz wbudowaną pomoc. Możliwości programowania zostały dodane do języka poleceń, począwszy od C-Kermit 5A(190) dla Unix , VMS, AOS/VS, Plan 9 (itp.) i MS-DOS Kermit, i od tego czasu były ulepszane i rozszerzane. Unikalną cechą skryptów Kermit jest to, że można je przenosić nie tylko pomiędzy różnymi platformami komputerowymi (takimi jak Unix i Windows), ale także różnymi metodami komunikacji (Telnet, FTP, bezpieczny Telnet, bezpieczny FTP, SSH, SSL, Kerberos IV/V, więcej ponad 100 różnych rodzajów modemów i bezpośredni port szeregowy).

Na tej stronie znajduje się krótkie wprowadzenie do skryptów Kermit oraz biblioteka przykładowych skryptów Kermita, wymieniona poniżej . Te oznaczone (*) to skrypty „kerbang”, których w systemie UNIX można używać dokładnie tak samo jak skryptów powłoki, jeśli nadasz im uprawnienia do wykonywania:

chmod +x nazwa skryptu

Argumenty wiersza poleceń są akceptowane w oczekiwany sposób, np.:

autotelnet xyz.com identyfikator mojego użytkownika

Dzięki temu argumenty wiersza poleceń będą dostępne dla skryptu w zmiennych \%0 (nazwa skryptu), \%1 (pierwszy argument), \%2 (drugi argument) itp.

Pierwsza linia każdego skryptu kerbang wygląda następująco:

#!/usr/local/bin/wermit +

(ale bez wcięcia). Wskazuje ścieżkę do pliku wykonywalnego C-Kermit, który ma wykonać skrypt; w razie potrzeby zmień tę linię. Końcowy znak plus jest wymagany, jeśli argumenty wiersza poleceń mają być przekazywane do skryptu (i nie szkodzi, jeśli tak nie jest). Funkcja „kerbang” wymaga C-Kermit 7.0 lub nowszego. Więcej informacji na temat skryptów kerbang można znaleźć w sekcji dodatku C-Kermit 7.0 na ten temat.

OSTRZEŻENIE: W systemach operacyjnych opartych na systemie Unix plik skryptu musi być w formacie tekstowym Unixaby mechanizm Kerbang zadziałał. Oznacza to, że wiersze muszą być zakończone i oddzielone jedynie znakiem przejścia do nowego wiersza, a nie powrotu karetki i przesunięcia wiersza (co by się na przykład stało, gdyby plik został przesłany z systemu Windows w trybie binarnym, a nie w trybie tekstowym). Jeśli linia Kerbang kończy się na CR i LF, powłoka Uniksa uzna CR za część nazwy pliku, jeśli nie zostanie dołączony znak „+” i nie znajdzie „prawidłowego interpretera” (tj. Kermita) dla skryptu. Jeśli dołączony jest znak +, CR może uniemożliwić Kermitowi jego rozpoznanie. Są to cechy powłoki Uniksa i mają zastosowanie do skryptów powłoki, skryptów Perla i każdego innego rodzaju skryptu, który używa konwencji „shebang” do wywoływania odpowiedniego interpretera. Aby usunąć powroty karetki, użyj następujących poleceń powłoki Unix:

tr -d '\015' < nazwa_pliku skryptu > nowa nazwa_pliku

mv nowa nazwa pliku nazwa_skryptu

Na platformach innych niż UNIX skrypty te są wykonywane przez:

  1. Wydanie polecenia TAKE nazwa pliku Kermitowi. W C-Kermit 7.0 i nowszych wersjach po nazwie pliku mogą występować argumenty, które są przypisane do zmiennych \%1 , \%2 , ..., \%9 .

Dołączenie nazwy pliku skryptu jako pierwszego argumentu wiersza poleceń programu Kermit, po którym następuje znak plus i argumenty. W VMS i Windows znak plus wydaje się powodować problemy z powłoką, więc w takim przypadku możesz zastąpić znak równości, ale umieść go po nazwie pliku skryptu, a nie przed nią:
kermit script.ksc = arg1 arg2 arg3 ... VMS

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

  1. To przypisuje arg1 do \%1 , arg2 do \%2 , i tak dalej.
  2. W Windows 95/98/ME/NT/2000/XP/etc, według skojarzenia typu pliku (jeśli nazwa pliku skryptu ma przyrostek „ .ksc "), ale w tym przypadku Windows nie udostępnia mechanizmu przekazywania argumentów do skryptu.

Poza UNIX-em linia „kerbang” nie ma żadnego efektu, ponieważ jest komentarzem do Kermita. W VMS wszelkie odniesienia do „zmiennych środowiskowych” można uzupełnić nazwami logicznymi lub symbolami DCL.

Skrypty na tej stronie służą wyłącznie celom ilustracyjnym i nie są objęte żadną gwarancją, wyraźną ani dorozumianą.

Szczyt

SKRYPT DO POBRANIA SKRYPTÓW

Od stycznia 2014 dostępny jest nowy skrypt, który upraszcza pobieranie skryptów z Biblioteki skryptów Kermit i ich instalację na własnym komputerze. Nazywa się getkermitscript , KLIKNIJ TUTAJ, aby go zobaczyć (i pobrać). Możesz użyć tego skryptu na komputerze z systemem Unix, na którym zainstalowano C-Kermit 8.0 lub nowszy, aby pobrać i zainstalować skrypty Kermit stąd za pomocą jednego prostego polecenia, takiego jak „getkermitscript photogallery.ksc”. Kilka rzeczy, o których warto pamiętać:

  • Wszystkie nazwy plików skryptów w bibliotece Kermit są pisane małymi literami. Skrypt getkermitscript wie o tym i pisze małymi literami wszelkie argumenty, które mogłeś zapisać wielką literą.
  • Skrypty w bibliotece skryptów są przechowywane bez żadnych rozszerzeń, nawet jeśli mogą być nazywane nazwami .ksc .

KLIKNIJ TUTAJ, aby uzyskać pełne instrukcje.

Szczyt

SAMOUCZEK PISANIA

Język skryptowy Kermit jest językiem programowania podobnym do Perla, ale z inną składnią (ponieważ język Kermit jest starszy niż Perl i wiele innych języków skryptowych). Język Kermit jest przenośny w systemach UNIX (Linux, AIX, HP-UX, Solaris, FreeBSD, IRIX, SINIX, QNX, SCO, Tru64 i każda inna znana odmiana UNIX ), VMS, Stratus VOS, Data General AOS/VS, Windows 95/98/ME/NT/2000/XP/7/8/10 , OS/2 , Plan 9, OS-9/68000, Commodore Amiga i inne platformy i działa jednolicie na połączeniach szeregowych (bezpośrednich lub wybieranych) i połączenia sieciowe (czysty tekst lub bezpieczne). Zatem nauka języka jest dobrą inwestycją czasu, ponieważ można ją zastosować do niemal każdego problemu komunikacyjnego. Język skryptowy Kermit jest udokumentowany w książceUżywam C-Kermit , ale oczywiście od czasu opublikowania książki wprowadzono wiele ulepszeń, które wyjaśniono w aktualizacjach wersji 7.0 , wersji 8.0 i wersji 9.0 oraz zilustrowano przykładowymi skryptami wymienionymi poniżej.

Język skryptowy Kermit jest łatwy do nauczenia , jeśli już używasz Kermita, ponieważ jest taki sam, jak język poleceń Kermita . Program skryptowy Kermita to po prostu seria poleceń Kermita zebranych w pliku lub makrze. Aby wykonać skrypt, powiedz Kermitowi, aby POBIERZ plik lub ZROBIŁ makro. Lub w systemie UNIX możesz go również wykonać tak, jakby był to skrypt powłoki, jak opisano na górze tej strony . W obu przypadkach możesz przekazać parametry do skryptu w poleceniu, które go wywołuje.

Podczas korzystania z Kermita „ręcznie” , tj. bezpośrednio wchodząc w interakcję z hostem, zazwyczaj nawiązujesz połączenie (SSH, TELNET, DIAL itp.), a następnie bezpośrednio współdziałasz z innym komputerem, przełączając się między ekranem poleceń Kermit a terminalem ekran. Poleceniem przejścia z ekranu poleceń do ekranu terminala jest CONNECT (C to wystarczający skrót). Powrót z ekranu terminala do ekranu poleceń wymaga specjalnej „sekwencji ucieczki”, takiej jak Ctrl- \ C, ster -] C lub Alt-x (Alt-x jest używany w Kermit 95 i MS-DOS Kermit). Należy pamiętać, że polecenie TELNET Kermita jest skrótem od SET HOST, po którym następuje CONNECT; oznacza to, że TELNET zawiera domyślne polecenie CONNECT.

Podczas automatyzacji sesji nie przełączasz się pomiędzy „ekranami”; nie łączysz się ani nie uciekasz z powrotem. W skrypcie wszystko odbywa się w trybie poleceń. W skrypcie nie ma ekranu terminala. Zamiast CONNECT (lub TELNET, RLOGIN lub SSH) użyj następujących poleceń , które każą Kermitowi zrobić to samo, co zrobiłbyś „ręcznie”:

SET HOST [przełączniki] nazwa-lub-adres hosta [przełączniki]

Otwórz połączenie sieciowe, ale pozostań w trybie poleceń, tj. bez wchodzenia do ekranu Terminalu lub trybu POŁĄCZ. Użyj tego zamiast TELNET, CONNECT, SSH lub innego polecenia, które powoduje wyświetlenie ekranu terminala. Synonim: OPEN HOST (co może bardziej sugerować wykonywaną akcję).

W przypadku połączeń szeregowych lub modemowych użyj:

USTAW TYP MODEMU [nazwa-modemu lub BRAK ]

SET LINE nazwa-urządzenia

SET SPEED - prędkość interfejsu

[ WYBIERZ numer telefonu ]

Otwórz bezpośrednie lub wybierane połączenie szeregowe, ale pozostań w trybie poleceń. Należy pamiętać, że gdy polecenie DIAL jest wykonywane z pliku poleceń lub makra, nie przechodzi ono automatycznie do trybu POŁĄCZ.

Polecenie DIAL Kermita nawiązuje połączenie poprzez wysłanie odpowiednich poleceń do modemu, zwykle poleceń AT, i odczytanie odpowiedzi. Polecenie SET MODEM TYPE, które należy wydać przed poleceniem DIAL, informuje Kermita, jakiego rodzaju jest to modem, dzięki czemu może poznać konkretny zestaw poleceń, którego ma użyć. W C-Kermit i Kermit 95 zwykle nie jest konieczne tworzenie skryptu okna dialogowego z modemem; wszystko to jest już wbudowane w Kermita. Aby uzyskać więcej informacji, zobacz instrukcję lub wpisz HELP DIAL, HELP SET DIAL i HELP SET MODEM.

Jeśli jednak zajdzie potrzeba napisania takiego okna dialogowego – np. wysłania stron alfanumerycznych lub wiadomości SMS – można to zrobić. Sztuczka polega na tym, że przed wykonaniem pierwszego polecenia INPUT lub OUTPUT (wyjaśnionego poniżej) musisz powiedzieć Kermitowi, aby WYŁĄCZYŁ OGLĄDANIE PRZEWOŹNIKA. Przykład:

USTAW TYP MODEMU BRAK

USTAW LINIĘ /dev/ttyS0

JEŚLI BŁĄD, WYJDŹ 1 „Urządzenie niedostępne”

USTAW PRĘDKOŚĆ 57600

USTAW KONTROLĘ PRZEPŁYWU RTS/CTS

WYŁĄCZ OGLĄDANIE PRZEWOŹNIKA

WYJŚCIE O\13

WEJŚCIE 3 OK

Wpisz HELP SET CARRIER-WATCH, aby uzyskać krótkie wyjaśnienie.

Po otwarciu połączenia użyj następujących poleceń, aby zasymulować interaktywną czynność:

Ciąg limitu czasu INPUT

Poczekaj do upływu limitu czasu , aż dany ciąg zostanie odebrany z innego komputera. Jeśli nadejdzie, polecenie to powiedzie się; w przeciwnym razie polecenie nie powiedzie się. Przykład: WEJŚCIE 10 logowanie: Polecenie INPUT akceptuje nie tylko proste ciągi znaków, ale także wzorce . Alternatywna forma, MINPUT, akceptuje listę ciągów znaków i/lub wzorców dopasowania.

WŁĄCZ ECHO WEJŚCIOWE

Zwykle nie widzisz na ekranie dialogów ze skryptami. Użyj tego polecenia, aby zobaczyć, co Kermit i gospodarz mówią do siebie. Nie ma to wpływu na działanie skryptu, tylko na to, co możesz zobaczyć.

JEŚLI AWARIA, polecenie

Jeżeli poprzednie polecenie (SET HOST, INPUT lub inne) nie powiodło się, wykonaj podane polecenie .

Przykład: JEŚLI NIE POWIODŁO SIĘ WYJDŹ 1 „Brak monitu o logowanie” . Polecenie może być listą poleceń ujętych w nawiasy klamrowe, a instrukcja IF może również zawierać część ELSE, która może być również pojedynczym poleceniem lub listą poleceń .

JEŚLI SUKCES, polecenie

Jeśli poprzednie polecenie się powiodło, wykonaj podane polecenie .

STOP [liczba [ciąg]]

Zatrzymaj skrypt i wróć do zachęty Kermita. Liczba jest kodem sukcesu: 0 oznacza sukces, wartość różna od zera oznacza niepowodzenie; polecenie, które wywołało bieżący plik poleceń (TAKE) lub makro (DO lub „domniemane DO”), można przetestować za pomocą JEŚLI SUKCES lub JEŚLI BŁĄD w oparciu o ten kod. Jeśli dołączony jest ciąg znaków, jest on drukowany.

KONIEC [liczba [ciąg]]

Podobnie jak STOP, ale podnosi stos poleceń tylko o jeden poziom, zamiast z powrotem na górę. Użyj tej opcji, aby wcześniej powrócić z pliku makra lub polecenia do jego obiektu wywołującego. synonim: POP.

WYJŚCIE [liczba [ciąg]]

Zatrzymuje skrypt i wychodzi z Kermita. Liczba to kod statusu wyjścia Kermita, zwykle 0 oznacza sukces, niezerowy oznacza niepowodzenie. Jeśli zostanie podany komunikat, zostanie on wydrukowany.

Ciąg WYJŚCIOWY

Wyślij podany ciąg do drugiego komputera. Znaki sterujące mogą być zawarte w ciągu za pomocą \ dddnotacja (gdzie d to cyfry, a ddd oznacza kod numeryczny znaku sterującego .

Przykład: WYJŚCIE Olga\13

Ciąg LINEOUT

(C-Kermit 7.0 i nowsze wersje; Kermit 95 1.1.20 i nowsze wersje) Ponieważ bardzo często wyprowadza się linię z powrotem karetki na końcu, to polecenie zrobi to za Ciebie, więc nie musisz pamiętać o dołączeniu \13 na końcu. skład bla jest równa wyjście foo\13 .

WEJŚCIE zastępuje oczy , WYJŚCIE zastępuje palce , a IF zastępuje mózg .

Reszta to zwykłe programowanie: FOR, WHILE, SWITCH, GOTO, zmienne, tablice, funkcje, struktura bloków, zagnieżdżanie, określanie zakresu i reszta wymieniona TUTAJ i udokumentowana w instrukcji (tak jak każdy inny język programowania jest udokumentowany w jego własnym języku ) podręcznik).

Oto bardzo prosty przykład nawiązania połączenia Telnet z systemem UNIX i zalogowania się:

ustaw hosta foo.bar.baz.com ; Nawiąż połączenie

w przypadku niepowodzenia zatrzymanie 1 Połączenie nie powiodło się; Sprawdź, czy zostało zrobione

wprowadź 20 login: ; Poczekaj 20 sekund na logowanie: monit

w przypadku niepowodzenia zatrzymanie 1 Brak monitu o zalogowanie; Sprawdź, czy doszło

wyjście mójuserid\13 ; lub „lineout myuserid”

wprowadź 5 Hasło: ; Poczekaj 5 sekund na monit o hasło:

w przypadku niepowodzenia zatrzymanie 1 Brak monitu o hasło; Sprawdź, czy doszło

wyprowadź moje hasło\13 ; lub „wykreśl moje hasło”

To ilustruje, w jaki sposób twoje działania na ekranie terminala są symulowane przez WEJŚCIE (oczy), WYJŚCIE (palce) i JEŻELI (mózg). Można to rozwinąć w dowolnym stopniu: użyć zmiennych zamiast stałych dla hosta, nazwy użytkownika lub hasła; aby zapytać o hasło, abyś nie musiał przechowywać go w pliku; podjąć próbę jakiegoś działania naprawczego, jeśli polecenie nie powiedzie się, zamiast po prostu zatrzymać się i tak dalej. I oczywiście możesz dodać więcej kroków - przesłać plik, wysłać e-mail, cokolwiek chcesz.

Składnia języka programowania Kermit powinna być znana każdemu, kto używa innych języków skryptowych, takich jak powłoka UNIX. Jest to język zastępowania ciągów , dlatego do wskazania podstawienia ciągów używany jest „znak zmiany znaczenia” (ukośnik odwrotny). Ponieważ można zastąpić wiele rodzajów elementów, po ukośniku odwrotnym następuje drugi znak wskazujący, jakiego rodzaju podstawienie ma zostać dokonane: zmienna skalarna, element tablicy, wynik funkcji, znak specjalny i tak dalej. Przykłady:

\%A Skalarna zmienna zdefiniowana przez użytkownika, oceniana rekurencyjnie
\m( imię ) Skalarna zmienna zdefiniowana przez użytkownika, oceniana na głębokość jednego poziomu
\v( imię ) Wbudowana zmienna (np \v(czas) , „pokaż var” dla listy)
\&a[1] Element tablicy oceniany rekurencyjnie
\f nazwa ( argumenty ) Wywołanie funkcji („show func” w przypadku listy, „help func xxx” w celu uzyskania szczegółów funkcji xxx)
\x0F Znak, którego kodem jest podana liczba szesnastkowa ( 00-ff )
\123 Znak, którego kodem jest podana liczba dziesiętna (0-255)
\\ Dosłowny ukośnik odwrotny.
( KLIKNIJ TUTAJ , aby uzyskać bardziej szczegółowe wyjaśnienie tego oznaczenia.)

To powinno dać ci pojęcie, jak czytać skrypty w bibliotece i jak napisać prosty skrypt lub dostosować jeden z nich do swoich potrzeb. Aby uzyskać krótki opis konkretnego polecenia lub funkcji Kermita, użyj polecenia HELP Kermita. Aby uzyskać opis funkcji wbudowanej, wpisz w wierszu polecenia „funkcja pomocy xxx”, gdzie xxx to nazwa funkcji. Aby uzyskać dokładne leczenie, zapoznaj się z instrukcją .

Na koniec pamiętaj:

  • Nie umieszczaj polecenia CONNECT w skrypcie, chyba że naprawdę chcesz zawiesić wykonywanie skryptu i przekazać ręczną kontrolę użytkownikowi. I pamiętaj, że polecenie POŁĄCZ może działać tylko wtedy, gdy zadanie ma terminal sterujący; nie może działać w zadaniu wsadowym lub cron, gdzie nie ma terminala.
  • Nie możesz umieścić tekstu hosta „w linii”. Kermit czyta polecenia ze skryptu, a nie tekst dla hosta. Aby wysłać tekst do hosta, użyj polecenia OUTPUT lub TRANSMIT.
  • Host TELNET to skrót do SET HOST hosta , JEŚLI POWINNO SIĘ POŁĄCZYĆ. Ponieważ TELNET zawiera domyślne polecenie CONNECT, nie umieszczaj polecenia TELNET w swoim skrypcie, chyba że naprawdę chcesz zawiesić wykonywanie skryptu i przekazać ręczną kontrolę użytkownikowi. Podobnie dla SSH i RLOGIN. W skrypcie użyj zamiast tego SET HOST z odpowiednimi przełącznikami (jeśli to konieczne), aby wskazać typ połączenia. POMÓŻ USTAWIĆ HOSTA, aby uzyskać szczegółowe informacje.
  • Więcej przykładów można znaleźć w poniższej bibliotece oraz w studiach przypadków firmy C-Kermit . Zobacz także często zadawane pytania C-Kermit : „ Dlaczego mój skrypt nie działa? ”.

Top zawartość C-Kermit Kermit 95 Kermit Home

BIBLIOTEKA SKRYPTÓW KERMITA

Najnowsze dodatki

  • Galeria zdjęć
    sierpień 2013, z kolejnymi aktualizacjami. Skrypt produkcyjny do tworzenia, modyfikowania i aktualizowania galerii obrazów w Internecie. Wymagany C-Kermit 9.0 lub nowszy. Zastępuje to wcześniejszy skrypt fotoalbumu , który był jedynie demo, nienadającym się do produkcji.
  • html
    Program konwertujący zwykły plik tekstowy na stronę internetową. W przeciwieństwie do wszystkich innych przedstawionych tutaj skryptów, ten może być używany w potoku Uniksa.
  • Przypomnienie
    Prosty program przypominający, który można wywołać z poziomu profilu logowania, bezpośrednio lub w dowolny inny sposób. Ilustruje niektóre funkcje obsługi daty C-Kermita (konwersja formatu, porównanie, sortowanie). Tekst pomocy znajduje się TUTAJ .
  • Zamieńtekstblok,
    luty 2014 r. Zautomatyzowany sposób zastępowania bloku tekstu (takiego jak wielowierszowa informacja o prawach autorskich) we wszystkich plikach, które go zawierają. C-Kermit 9.0 lub nowszy.
  • Getkermitscript
    styczeń 2014. Skrypt Kermit umożliwiający pobieranie skryptów Kermit z Biblioteki skryptów Kermit i instalowanie ich na komputerze bez konieczności ich edytowania lub wydawania jakichkolwiek innych poleceń (poprzednio zawsze konieczne było edytowanie „linii kerbang” i zmiana uprawnień ). Na razie tylko Unix. Wymaga C-Kermit 8.0 lub nowszego. Zaktualizowano w 2022 r., aby obejść zniknięcie protokołu FTP z Internetu.
  • Jpginfo
    wrzesień 2013. Tworzy listę katalogów plików obrazów JPG, która zawiera (dla każdego pliku) datę wykonania, szerokość, wysokość oraz informację, czy jest to orientacja pionowa czy pozioma.
  • Renamejpgs
    kwiecień 2013. Skrypt zmieniający nazwy plików JPG w zależności od „czasu potrzebnego” lub „czasu utworzenia”. Dzięki temu obrazy z wielu źródeł lub obrazy, których nazwy plików zostały „zawinięte”, mogą być wyświetlane w porządku chronologicznym według nazw plików. Wymagany C-Kermit 9.0.304 .
  • ilosetup
    2009-2011. Skrypt produkcyjny do konfigurowania serwerów HP Blade za pośrednictwem interfejsu Integrated Lights Out (iLO).
  • CBX
    Zestaw skryptów do pobierania raportów z Rolm CBX. C-Kermit 8.0 lub nowszy albo Kermit 95 2.1 lub nowszy.
  • Ksitemap
    Kermit tworzy mapę witryny dla witryny internetowej w oparciu o prosty plik kontrolny, który tworzysz, informując, jakie pliki i obrazy chcesz uwzględnić. Obsługiwane są rozszerzenia mapy witryny obrazu Google. Jeśli Twój plik kontrolny zawiera tekst zakodowany w ISO 8859-1 lub innym powszechnie używanym zestawie znaków, Kermit konwertuje go na UTF-8, który jest wymagany w mapach witryn. Udokumentowane TUTAJ . Wymaga C-Kermita 9.0 .
  • Blog internetowy
    Odczytuje dziennik sieciowy z rekordem rozdzielanym tabulatorami (TSV) dla dwujęzycznej hiszpańsko-angielskiej witryny internetowej, wyodrębnia wyszukiwania Google, w miarę możliwości normalizuje zestaw znaków i wielkość liter w wyszukiwanych ciągach oraz drukuje 20 najpopularniejszych wyszukiwań wraz z ich liczbą . Udokumentowane TUTAJ . Wymaga C-Kermita 9.0 . [Od października 2011 r. ten skrypt ma głównie charakter akademicki, ponieważ Google nie uwzględnia już wyszukiwanego tekstu w parametrach adresu URL.]
  • ifdef
    Prosty skrypt do sprawdzania struktury #if/#ifdef/#ifndef..#endif w pliku kodu źródłowego C.
  • ifdef2
    Podobnie jak ifdef, ale pokazuje także #define i #undef.
  • cmp
    Makro porównujące dwie liczby o dowolnej długości, całkowite lub zmiennoprzecinkowe, ze znakiem lub bez znaku, nawet jeśli są dłuższe niż rozmiar słowa maszyny bazowej. Wymaga C-Kermit 8.0 lub nowszego albo K95 2.0 lub nowszego.
  • twoscomplementv3
    Makra do konwersji ciągów liczb dziesiętnych ze znakiem na format szesnastkowy uzupełnienia do dwójki i odwrotnie. Wykonuje własną arytmetykę łańcuchową, więc nie jest ograniczony rozmiarem słowa maszynowego ani modelem pamięci. Jak napisano, może obsługiwać liczby całkowite o długości do 128 bitów. Oczywiście ten działa wolniej niż twoscomplementv1 , który wykorzystuje arytmetykę maszynową. Wymaga C-Kermit 8.0 lub nowszego albo K95 2.0 lub nowszego. ( Skrypt twoscomplementv2 konwertowany tylko w jednym kierunku, ta wersja obejmuje oba kierunki.)
  • twoscomplementv1
    Skrypt konwertujący ciągi liczb dziesiętnych ze znakiem na format uzupełnienia do dwóch i wyświetlający je w formacie szesnastkowym. Używa arytmetyki maszynowej, więc wyniki są ograniczone rozmiarem słowa i modelem pamięci (np. 32 bity). Wymaga C-Kermit 8.0 lub nowszego albo K95 2.0 lub nowszego.
  • ankieta
    Skrypt CGI do przetwarzania formularza internetowego (w tym przypadku ankiety ) .
  • webindex
    Tworzy indeks internetowy z witryny FTP Kermit, tysiące plików zamienionych w klikalne linki. Wymaga C-Kermit 9.0 lub nowszego.
  • pop.ksc W pełni rozbudowany skrypt produkcyjny do pobierania poczty z serwera POP3 poprzez połączenie zabezpieczone SSL. Aby uzyskać wyjaśnienia i dokumentację, KLIKNIJ TUTAJ . Wymaga C-Kermit 9.0 lub nowszego. Sam korzystałem z tego (oraz następnego skryptu, mailcheck) do codziennego pobierania poczty e-mail, dopóki Columbia nie przestawiła się z tradycyjnej poczty uniksowej na Gmaila.
  • mailcheck Opakowanie skryptu pop.ksc , które jednorazowo zbiera Twoje hasło, a następnie co 5 minut (lub w innym wybranym odstępie czasu) sprawdza, czy jest nowa poczta i pobiera ją, jeśli taka istnieje.

Skrypty FTP:

Od 2022 r. nie są one już przydatne w większości przypadków, ponieważ protokół FTP i serwery zostały usunięte z Internetu.

  • Wprowadzenie do skryptów FTP
    Jak zautomatyzować sesje FTP za pomocą C-Kermit 8.0 i Kermit 95 2.0 lub nowszego. Sam FTP wyszedł z mody, a szkoda, ale w niektórych miejscach nadal istnieją serwery FTP, do których można uzyskać dostęp z poziomu klienta FTP działającego w trybie tekstowym (ale nie z przeglądarki internetowej takiej jak Chrome czy Firefox).
  • ibm_infoexchange
    Nawiązuje bezpieczne połączenie FTP z IBM InfoExchange. Wymagana jestbezpieczna wersja Kermit 95 2.0 (lub nowsza) lub C-Kermit 8.0 (lub nowsza).
  • ftprename
    Multiple Rename: Pokazuje, jak zmienić nazwę listy plików na serwerze FTP. Wymaga Kermit 95 2.0 (lub nowszego) lub C-Kermit 8.0 (lub nowszego).
  • ftpdirectory(*)
    Jak uzyskać listę katalogów z serwera FTP, która pokazuje pełny znacznik czasu dla każdego pliku. Wymaga Kermit 95 2.0 lub C-Kermit 8.0 (lub nowszego).
  • used
    Pokazuje, jak wysłać plik na serwer FTP z gwarantowaną unikalną nazwą, nawet jeśli serwer nie obsługuje STOU. Wymaga Kermit 95 2.0 (lub nowszego) lub C-Kermit 8.0 (lub nowszego).
  • rawhide
    Codzienne pobieranie nowych RPM z serwera Red Hat Linux Rawhide. Kermit 95 2.0 (lub nowszy) lub C-Kermit 8.0 (lub nowszy).
  • ftpsyncdown
    Używa protokołu FTP do synchronizacji katalogu lokalnego z katalogiem serwera zdalnego. Pobiera nowe pliki i pliki, które uległy zmianie, pomija pliki, które się nie zmieniły, usuwa pliki lokalne, które nie mają odpowiedników na serwerze. Działa na różnych platformach (klient Windows lub Unix; Unix, VMS, Windows lub większość innych serwerów); przełączanie trybu tekstowo-binarnego obsługiwane automatycznie. Kermit 95 2.0 (lub nowszy) lub C-Kermit 8.0 (lub nowszy).
  • ftpsyncup
    Używa protokołu FTP do synchronizacji drzewa katalogów serwera zdalnego z drzewem katalogów lokalnych. Lokalne drzewo katalogów jest zduplikowane na serwerze. Przesyła nowe pliki i pliki, które uległy zmianie, pomija pliki, które się nie zmieniły. Działa na różnych platformach poprzez automatyczne przełączanie trybu tekstowego na binarny. Kermit 95 2.0 (lub nowszy) lub C-Kermit 8.0 (lub nowszy).

Inne skrypty internetowe:

  • kwhois
    Prosty, jednoetapowy WHOIS, interfejs do zwykłego narzędzia Whois umożliwiającego wyszukiwanie dowolnej domeny w jednym kroku, a nie w dwóch.
  • zdalny dostęp
    Jak zaprezentować interfejs zorientowany na polecenia użytkownikom uzyskującym dostęp do Kermita bezpośrednio z zewnątrz: połączenie telefoniczne (ANSWER), Internet (SET HOST *), a nawet gdy Kermit działa jako usługa w inetd. W takich sytuacjach nie ma sterownika terminala, więc Kermit musi sam poradzić sobie z powtarzaniem i edycją, a także analizowaniem poleceń i ich wykonywaniem. W tym przykładzie zaimplementowano prosty „BBS”, w którym użytkownik może uzyskać listę plików i pobrać pliki. Współpracuje z każdą najnowszą wersją C-Kermit lub Kermit 95.
  • skermit(*)
    Klient do przesyłania i zarządzania plikami C-Kermit Podsystem SSH: wydajniejsza, bardziej przyjazna, skryptowalna alternatywa dla SFTP. KLIKNIJ TUTAJ, aby zapoznać się z dokumentacją. Wymagany C-Kermit 8.0.201 lub K95 2.0 (lub nowszy).
  • autossh(*)
    Przeprowadza automatyczną sesję SSH. Wymagany C-Kermit 8.0 lub K95 2.0 lub nowszy.
  • autotelnet(*)
    Tworzy automatyczne połączenie Telnet. Wymagany C-Kermit 7.0 lub K95 1.1.19 lub nowszy. Telnet praktycznie zniknął z powierzchni ziemi, mimo że jest znacznie lepszy od SSH. Powstały bezpieczne wersje Telnetu, ale nikt z nich nie korzysta, a teraz one również zniknęły. „Zło wypiera dobro”.
  • autotelnet6(*)
    Tworzy automatyczne połączenie Telnet. To samo co „autotelnet”, ale nie wykorzystuje żadnych nowych funkcji C-Kermit 7.0. Wymagany C-Kermit 6.0 lub K95 1.1.13 lub nowszy.
  • portlog(wykrywanie włamań)
    Bez szkody pochłania i rejestruje ataki na port TCP 80, takie jak Code Red i Nimda. Resetuje się co godzinę i wtedy również (a) przesyła dziennik godzinowy na wybraną witrynę FTP; (b) przesyła podsumowanie e-mailem na wybrany adres. Może nasłuchiwać na porcie TCP 80 lub dowolnym innym żądanym porcie TCP. Działa dobrze na porcie 80 z Code Red, Code Red II i Nimda. Wymaga: C-Kermit 8.0 .
  • pop3(*)
    Pobiera e-maile z serwera POP3. Wymagany C-Kermit 7.0 . Marka Sapiro. Zobacz także nowszy bezpieczny skrypt POP3 .
  • netedit
    Edytuje zdalny plik przy użyciu edytora na komputerze lokalnym. Wymagany C-Kermit 7.0 lub K95 1.1.19 .
  • iksget(*)
    Pobiera plik lub pliki z internetowego serwera Kermit. Wymagany C-Kermit 7.0 . W C-Kermit 8.0 lub K95 2.x, które obsługują, nie są potrzebne żadne skrypty Kermit:// Adresy URL w wierszu poleceń (także adresy FTP, HTTP i Telnet).
  • iksdpy(*)
    Monitor wyświetlania w czasie rzeczywistym internetowego demona usługi Kermit. Wymagany C-Kermit 7.0 lub K95 2.0 lub nowszy.
  • znacznik czasu(*)
    Dodaje znaczniki czasu do wyświetlania dziennika systemowego w oparciu o protokół Telnet. Wymagany C-Kermit 7.0 lub K95 1.1.19 . Uwaga: C-Kermit 8.0 i Kermit 95 2.0 i nowsze mają wbudowaną opcję dzienników sesji ze znacznikami czasu .
  • linksys(*)
    Używany z routerem Linksys Ethernet Cable/DSL do pobierania adresu IP do użycia z uwierzytelnianiem Kerberos 5, gdy włączona jest translacja adresów sieciowych (NAT). Wymagany C-Kermit 8.0 .

Skrypty logowania:

  • logport
    Rejestruje dane przychodzące do portu szeregowego. Przydatny do rejestrowania zapisów połączeń PBX, komunikatów na portach kontrolnych routerów itp. Wymaga C-Kermit 8.0.211 lub nowszego.
  • daily-session-log
    Rejestruje przychodzące dane przy każdym rodzaju połączenia (zakładając, że połączenie jest otwarte). Opracowanie skryptu logport, który automatycznie obraca plik dziennika codziennie o północy. Powinien działać z każdą najnowszą wersją K95 lub C-Kermit.

Skrypty modemu:

  • autodial
    Jest to podstawowy skrypt automatycznego wybierania numeru i logowania. Konfiguruje parametry modemu i komunikacji, wybiera numery, opcjonalnie negocjuje za pośrednictwem serwera terminali, a następnie loguje się do hosta z systemem Unix. Powinien działać z dowolną wersją C-Kermit lub Kermit 95.
  • getline(*)
    Mając listę urządzeń szeregowych, z których można dzwonić, wyszukuje i przypisuje pierwsze wolne. Wymagany C-Kermit 7.0 lub K95 1.1.19 lub nowszy.
  • mpservers
    Mając listę serwerów puli modemów TCP/IP, zbiera spis używanych i wolnych portów, wysyłając do nich polecenia „finger” i gromadząc wyniki, zarówno dla każdego serwera, jak i numeru telefonu, a także łączny. Działa w systemie UNIX. Wymagany C-Kermit 8.0 .
  • callstats
    Mając listę numerów telefonów w puli modemów, wykonuje powtarzające się połączenia z każdym z nich i rejestruje wyniki każdego połączenia (BUSY, CONNECT 48000, itp.) według daty i godziny w formacie odpowiednim do analizy statystycznej. Działa w systemach UNIX, Windows 95/98/ME/NT/2000/XP lub VMS. Wymagany C-Kermit 7.0 lub K95 1.1.19 lub nowszy.
  • modemtest2(*)
    Biorąc pod uwagę listę numerów telefonów modemów, wykonuje powtarzające się połączenia z każdym z nich; loguje się do określonego hosta, przesyła pliki tam i z powrotem oraz prowadzi plik dziennika ze statystykami połączeń i wydajności. Działa w systemach UNIX, Windows 9x/ME/NT/2000/XP lub VMS. Wymagany C-Kermit 8.0 lub Kermit 95 2.0 lub nowszy. KLIKNIJ TUTAJ, aby zobaczyć wcześniejszą wersję, która współpracuje z C-Kermit 7.0 i K95 1.1.19.
  • dialout(*)
    Wyświetla formularz do wypełnienia przez użytkownika w celu wybrania typu modemu, portu, szybkości i numeru telefonu, a następnie wybiera numer na polecenie użytkownika. Wymagany C-Kermit 7.0 lub K95 1.1.19 lub nowszy. Uwaga: jest to także skrypt formatujący ekran .
  • callbycall
    Skrypt wybierania numeru, który wybiera najodpowiedniejszego operatora połączeń międzymiastowych według pory dnia, a także przełącza dostawców w przypadku sygnału zajętości (w przypadku, gdy sam operator jest zajęty, a nie numer docelowy). Do użytku z SET DIAL MACRO. Autor: Peter Eichhorn, Assyst GmbH , Monachium. Wymagany C-Kermit 7.0 lub K95 1.1.19 .

Skrypty pagera:

Skrypty formatujące ekran:

Skrypty do zdrapywania ekranu:

  • scrape
    W Kermicie 95 skrypty mogą wchodzić w interakcję z emulatorem terminala w celu pobierania ciągów znaków z określonych miejsc na ekranie terminala, podobnie jak w przypadku HLLAPI. W tym skrypcie analizowane są formularze ekranowe w celu wybrania i pobrania obrazów z bazy danych na komputerze hosta. Autor: Max Evarts. Wymagana wersja K95 1.1.17 lub nowsza.

Skrypty do przesyłania plików:

  • vmscapture
    Przechwyć plik tekstowy z hosta VMS bez protokołu przesyłania plików Kermit.
  • dostarczanie(*)
    Skrypt dostarczający określony plik lub pliki do miejsca docelowego, nawet jeśli połączenie zostanie zerwane w trakcie przesyłania. Wymagany C-Kermit 6.0 lub K95 1.1.8 lub nowszy.
  • synchronize(*)
    Skrypt synchronizujący drzewa katalogów na dwóch hostach internetowych za pośrednictwem połączenia Telnet. Przesyłane są tylko pliki nowsze w źródle niż w miejscu docelowym. Katalogi tworzone są automatycznie w zależności od potrzeb w miejscu docelowym. Pliki, które zniknęły ze źródła, są usuwane w miejscu docelowym. Można obsługiwać dowolną mieszankę plików tekstowych i binarnych. Obydwa hosty nie muszą mieć tego samego systemu operacyjnego ani systemu plików. Automatycznie nawiązuje się kontakt z hostem docelowym i loguje się do niego (więc jest to również skrypt internetowy ); w ten sposób cała operacja może przebiegać bez nadzoru. Wymagany C-Kermit 7.0 lub K95 1.1.19 .

Skrypty do zarządzania plikami:

  • concatenate
    Łączy wszystkie pliki w bieżącym katalogu w jeden duży plik. Przydatne (np.) po pobraniu kilku plików transakcyjnych EDI, które należy połączyć, aby komputer mógł je wszystkie przetworzyć na raz.
  • rgrep(*)
    Odpowiada na często zadawane pytanie: „Gdzie jest rekurencyjny grep?” Przeszukuje pliki w drzewie katalogów, których nazwy pasują do podanego wzorca i wypisuje wszystkie wiersze we wszystkich plikach, które pasują do podanego wzorca. Wymagany C-Kermit 7.0 lub K95 1.1.19 . Uwaga: W C-Kermit 8.0 skrypt nie jest już potrzebny, ponieważ GREP (w tym opcja rekurencyjna) jest wbudowanym poleceniem.
  • zmień nazwę(*)
    Jednoliniowy odpowiednik powłoki UNIX „ Do I W *; Do bla ; zrobione ". Wymagana jest wersja C-Kermit 7.0 lub K95 1.1.19 . Ta funkcjonalność jest wbudowana w C-Kermit od wersji 8.0.211; KLIKNIJ TUTAJ , aby zapoznać się z dokumentacją znacznie rozszerzonego polecenia RENAME.
  • Changetype(*)
    Opracowanie skryptu zmiany nazwy na uniwersalny skrypt zmiany typu pliku; stare i nowe typy plików oraz lista plików są podawane jako argumenty wiersza poleceń, np. " Zmień typ pomoc tekst * „zmienia nazwę *.hlp pliki do *.tekst . Wymagany C-Kermit 7.0 lub K95 1.1.19 . Ta funkcjonalność również jest wbudowana w C-Kermit od wersji 8.0.211; KLIKNIJ TUTAJ po szczegóły.
  • usuń(*)
    Odpowiada na często zadawane pytanie „Jak usunąć pliki starsze niż n dni?”. Wymagany C-Kermit 7.0 lub K95 1.1.19 .
  • przeglądaj(*)
    Interaktywnie przeglądaj pliki. Wszystko, czego kiedykolwiek chciałeś, w przeglądarce plików w trybie tekstowym. Wymagany C-Kermit 7.0 lub K95 1.1.19 .
  • logrotate
    Obraca dzienniki połączeń co miesiąc. Wymagany C-Kermit 7.0 lub K95 1.1.19 .
  • cleandups(*)
    Dość złożona aplikacja do zarządzania plikami (w rzeczywistości używana do zarządzania aktualizacją i instalacją plików binarnych C-Kermit 7.0 Beta-test na naszym serwerze FTP). Wymagany C-Kermit 7.0 .
  • install(*)
    Przenosi nowe pliki binarne testów beta C-Kermit z obszaru testowego na stronę ftp, usuwając w miarę upływu czasu odpowiednie pliki binarne z poprzednich testów beta, aby nie zapełniać dysku serwera FTP. Wymagany C-Kermit 7.0 .
  • merge(*)
    Łączy dowolną liczbę wstępnie posortowanych plików w jeden plik wyjściowy. Ilustruje pakiet we/wy plików C-Kermita działający na wielu plikach jednocześnie. Wymagany C-Kermit 7.0 .
  • ftplog(*)
    Analizuje dziennik przesyłania plików w formacie wu-ftpd, który jest również tworzony przez format FTP SET TRANSACTION-LOG firmy C-Kermit. Wyświetla listę pięciu najpopularniejszych plików, a także drukuje histogram liczby plików na liczbę dostępów. Ilustruje tablice asocjacyjne. Wymagany C-Kermit 7.0 .

Skrypty przetwarzające liczby:

  • statystyka(*)
    Biorąc pod uwagę plik, w którym każda linia zawiera parę liczb, X i Y, oblicza i drukuje maksimum, minimum, średnią, wariancję i odchylenie standardowe X i Y oraz współczynnik korelacji X i Y Liczby w pliku mogą (ale nie muszą) zawierać kropki dziesiętne i części ułamkowe. Ilustruje funkcje arytmetyczne zmiennoprzecinkowe wprowadzone w C-Kermit 7.0.
  • xstats(*)
    Podobnie jak statystyki , z tą różnicą, że jest zaimplementowany (znacznie prościej) przy użyciu wyrażeń S C-Kermita 8.0 .

Arytmetyka daty i godziny:

  • wielkanoc(*)
    Oblicza datę Wielkanocy dla dowolnego roku pomiędzy 1900 a 2099 za pomocą wyrażeń S. Wymaga C-Kermit 7.0 lub nowszego albo K95 1.1.20 lub nowszego.
  • easter2(*)
    Taki sam jak poprzedni, z tą różnicą, że wykorzystuje nową funkcję w C-Kermit 8.0.212 , która wymusza arytmetykę liczb całkowitych, która jest wymagana w tego typu obliczeniach.
  • kalendarz(*)
    Podobnie jak uniksowy 'cal' - drukuje kalendarz na dowolny miesiąc w dowolnym roku pomiędzy 1859 a 9999. Wymaga C-Kermit 8.0 lub nowszego albo K95 2.0 lub nowszego.
  • usuństare
    Jak usunąć pliki starsze niż podany wiek w ustawieniach klient/serwer.

Pliki inicjujące C-Kermit

  • kermrc
    Niegdyś standardowy plik inicjujący C-Kermit. Zawiera definicje katalogu usług z automatycznymi makrami logowania dla różnych platform i metod komunikacji. To raczej demonstracja języka skryptowego niż praktyczne zastosowanie.
  • mykermrc
    Przykładowy plik dostosowywania C-Kermit. Wymagany C-Kermit 6.0 lub nowszy.

Ulepszenie Protokołu Kermita:

  • rmsg
    Makro implementacja (brakującego) polecenia REMOTE MESSAGE dla C-Kermit 8.0 i Kermit 95 2.0 lub nowszego.

Kluczowe mapy:

  • koikeys
    Konfiguruje klawiaturę dźwiękową obsługującą litery cyrylicy, która będzie używana w trybie klawiatury rosyjskiej w Kermit 95 . Umożliwia to „pisanie dotykowe” cyrylicą przez osoby posiadające klawiatury QWERTY (litery cyrylicy są dopasowywane do liter rzymskich, które mają mniej więcej „ten sam dźwięk”). W normalnym trybie klawiatury rosyjskiej używany jest standardowy układ klawiatury cyrylicy, nieznany maszynistom QWERTY. Każda wersja Kermita 95, począwszy od około 1.1.8, może korzystać z tej mapy kluczy. Aby zobaczyć wersję tego pliku skryptu, która pokazuje również wersję cyrylicą każdego znaku, kliknij tutaj , ale być może będziesz musiał poinformować przeglądarkę, że kodowanie tekstu to utf-8 (mimo że jest to domyślne i preferowane kodowanie dla tekst w Internecie). I KLIKNIJ TUTAJdla wersji HTML z poprawnymi znakami cyrylicy, którą można wydrukować na jednej stronie.
  • Mapa kluczy ar-medicare
    Kermit 95 wymagana do uzyskania dostępu do placówki Medicare stanu Arkansas.

Skrypty HTML

  • html
    Konwertuje zwykły plik tekstowy na HTML. Całkowicie przepisany do użytku produkcyjnego w 2017 roku.

Programowanie obiektowe:

(I inne kreatywne techniki programowania.) Ta sekcja autorstwa Dat Thuc Nguyena .

konto
Demo aplikacji wykorzystujące ten sam przykład, którego używa większość dialektów Smalltalk jako wprowadzenie do programowania obiektowego. Aby uruchomić to demo:
C-Kermit> weź klasę

C-Kermit> weź pod uwagę

  • Wymagany C-Kermit 8.0 .
  • shortcircuit
    Zwarcie szeregowe wykonywania makr (a) podczas gdy wszystkie się powiodą, (b) aż do wykonania jednego z nich. Wymagany C-Kermit 7.0 lub K95 1.1.19 .
  • lispops
    Ten mały pakiet definiuje serię operatorów arytmetycznych typu LISP dla C-Kermit i Kermit 95. Wymagany C-Kermit 7.0 lub K95 1.1.19 (przestarzały przez wbudowaną składnię LISP C-Kermit 8.0 ).
  • macierz
    Macierz jest istotnym elementem w wielu obszarach obliczeniowych. C-Kermit i Kermit 95 mogą z łatwością wykonywać operacje na macierzach. Ten skrypt tworzy dwie macierze, A i B, a następnie oblicza ich sumę: macierz C.
  • noswitch
    „PRZEŁĄCZNIK uważany za szkodliwy”
  • oop
    Programowanie obiektowe w C-Kermit i Kermit 95. Zabawa z psami i kotami.
  • złożone
    Liczby zespolone nie są wbudowanym typem wielu języków programowania. Tutaj na ratunek przychodzi OOP z typem zdefiniowanym przez użytkownika. Ten skrypt definiuje klasę liczb zespolonych w C-Kermit, oferując znajomy interfejs C++. Wymagany C-Kermit 7.0.
  • wordcount(*)
    Liczenie częstotliwości słów to Excel dla języków skryptowych, takich jak awk i Perl. Dzięki OOP C-Kermit również wygodnie radzi sobie z tym zadaniem. Skrypt ten definiuje i używa klasy Words do zliczania wystąpień unikalnych słów w pliku tekstowym w postaci zwykłego tekstu. Klasa Words chroni szczegóły implementacji i promuje ponowne wykorzystanie, czyli produkt flagowy OOP. Wymagany C-Kermit 7.0.
  • dziedziczenie
    Żaden obiektowy język programowania nie opuszcza domu bez dziedziczenia. Ten skrypt wyświetla dziedziczenie w C-Kermit i Kermit 95.
  • wielokrotne
    Dziedziczenie wielokrotne wzbogaca projektowanie oprogramowania. Nie wszystkie języki OOP to mają: C++ tak; Java i Smalltalk tego nie robią. Ten skrypt implementuje wielokrotne dziedziczenie w C-Kermit. Do przedstawienia tematu wykorzystano słynną klasę zwierząt, którą można znaleźć w wielu odniesieniach do C++ i Smalltalk.
  • torba
    Kontener jest kluczowym pojęciem w programowaniu obiektowym. Smalltalk, C++ itp. mają standardowe biblioteki kontenerów. Skrypt ten definiuje klasę „torba” w C-Kermit/Kermit 95. Bag oferuje bogaty interfejs użytkowania.
  • string
    Podstawowa klasa stringów oparta na modelu Smalltalk.
  • semafor
    Używamy semaforów do koordynowania zadań obliczeniowych, współdzielenia zasobów itp. Skrypt ten definiuje klasy semaforów zarówno w stylu Smalltalk, jak i C++. Wymagany C-Kermit 6.0 / K95 1.1.17.
  • singleton
    W społeczności wzorców singleton jest klasą, która może mieć tylko jedną instancję. Wszystkie obiekty utworzone z tej klasy odnoszą się do jedynego singletonu! Singleton jest bardzo przydatny, gdy dostępny jest tylko jeden zasób, a różne funkcje zdefiniowane przez użytkownika uzyskują dostęp do tego zasobu pod różnymi referencjami. Klasa singleton zapewnia, że ​​można z niej utworzyć instancję jednego i tylko jednego obiektu, choć pod różnymi nazwami.
  • stan
    Skończona maszyna stanów jest koncepcją użyteczną w wielu zastosowaniach. Ten skrypt sugeruje strukturę dla maszyny stanów.

Testy tortur w języku skryptowym:

Szczyt