EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

autoexpect - Online in der Cloud

Führen Sie autoexpect im kostenlosen OnWorks-Hosting-Provider über Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator aus

Dies ist der Befehl autoexpect, der im kostenlosen OnWorks-Hosting-Provider über eine unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, Windows-Online-Emulator oder MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


autoexpect - Generiere ein Expect-Skript, indem du eine Sitzung ansiehst

ZUSAMMENFASSUNG


automatisch erwarten [ args ] [ Programm Argumente... ]

EINFÜHRUNG


autoexpect beobachtet Sie bei der Interaktion mit einem anderen Programm und erstellt ein Expect-Skript, das
reproduziert Ihre Interaktionen. Bei geradlinigen Skripten spart Autoexpect erheblich Zeit
über das Schreiben von Skripten von Hand. Auch wenn Sie ein Experte von Expect sind, werden Sie es finden
bequem, autoexpect zu verwenden, um die weniger gedankenlosen Teile von Interaktionen zu automatisieren. es ist
es ist viel einfacher, große Mengen von Autoexpect-Skripten zusammenzuschneiden/einzufügen, als sie daraus zu schreiben
kratzen. Und wenn Sie ein Anfänger sind, können Sie vielleicht nichts lernen
mehr zu Expect als zum Aufrufen von autoexpect.

Die einfachste Möglichkeit, autoexpect zu verwenden, besteht darin, es ohne Argumente von der Befehlszeile aus aufzurufen.
Beispielsweise:

% automatisch erwarten

Standardmäßig erzeugt autoexpect eine Shell für Sie. Wenn ein Programmname und Argumente angegeben sind,
autoexpect erzeugt dieses Programm. Zum Beispiel:

% autoexpect ftp ftp.cme.nist.gov

Sobald Ihr erzeugtes Programm ausgeführt wird, interagieren Sie normal. Wenn Sie die Shell verlassen haben
(oder das von Ihnen angegebene Programm) erstellt autoexpect ein neues Skript für Sie. Standardmäßig,
autoexpect schreibt das neue Skript in "script.exp". Sie können dies mit dem Flag -f überschreiben
gefolgt von einem neuen Skriptnamen.

Das folgende Beispiel führt "ftp ftp.cme.nist.gov" aus und speichert das resultierende Expect-Skript
in der Datei "nist".

% autoexpect -f nist ftp ftp.cme.nist.gov

Es ist wichtig zu verstehen, dass autoexpect kein funktionierendes Skript garantiert, weil
es muss zwangsläufig über bestimmte Dinge raten - und manchmal rät es falsch.
Es ist jedoch in der Regel sehr einfach, diese Probleme zu identifizieren und zu beheben. Die typischen Probleme
sind:

· Zeitliche Koordinierung. Überraschend viele Programme (rn, ksh, zsh, telnet usw.)
und Geräte (zB Modems) ignorieren Tastenanschläge, die "zu schnell" danach eintreffen
Aufforderungen. Wenn Sie feststellen, dass Ihr neues Skript an einer Stelle hängen bleibt, fügen Sie ein . hinzu
Kurzer Schlaf kurz vor dem vorherigen Senden.

Sie können dieses Verhalten durchgängig erzwingen, indem Sie die Variable überschreiben
"force_conservative" am Anfang des generierten Skripts. Dies
Der "konservative" Modus lässt Autoexpect automatisch kurz pausieren (ein Zehntel von
eine Sekunde), bevor Sie jedes Zeichen senden. Das beruhigt jedes Programm, das ich kenne
aus.

Dieser konservative Modus ist nützlich, wenn Sie sich nur schnell beruhigen möchten
dass das Problem ein Timing ist (oder wenn es dir wirklich egal ist, wie schnell
das Skript läuft). Derselbe Modus kann vor der Skriptgenerierung durch . erzwungen werden
mit dem Flag -c.

Glücklicherweise sind diese Timing-Spots selten. Telnet ignoriert beispielsweise
Zeichen erst nach Eingabe der Escape-Sequenz. Modems ignorieren nur
Zeichen unmittelbar nach dem erstmaligen Herstellen einer Verbindung. Ein paar
Programme zeigen dieses Verhalten die ganze Zeit, haben aber normalerweise einen Wechsel zu
deaktivieren Sie es. Beispielsweise deaktiviert das Flag -T von rn dieses Verhalten.

Im folgenden Beispiel wird autoexpect im konservativen Modus gestartet.

automatisch erwarten -c

Das Flag -C definiert einen Schlüssel zum Umschalten des konservativen Modus. Das folgende Beispiel
startet autoexpect (im nicht-konservativen Modus) mit ^L als Umschalter. (Beachten Sie, dass
das ^L wird wörtlich eingegeben - dh geben Sie ein echtes Control-L ein).

automatisch erwarten -C ^L

Das folgende Beispiel startet autoexpect im konservativen Modus mit ^L als
Umschalten.

autoexpect -c -C ^L

· Echo. Viele Programmechozeichen. Wenn Sie beispielsweise "mehr" in a . eingeben
Shell, was autoexpect tatsächlich sieht, ist:

du hast 'm' eingegeben,
Computer tippte 'm' ein,
du hast 'o' eingegeben,
Computer hat 'o' eingegeben,
du hast 'r' eingegeben,
Computer hat 'r' eingegeben,
...

Ohne spezielle Kenntnisse des Programms ist es unmöglich zu wissen, ob Sie es sind
warten, bis jedes Zeichen wiederholt wird, bevor Sie das nächste eingeben. Wenn automatisch erwarten
wenn Zeichen als Echo angezeigt werden, geht es davon aus, dass es alle als Gruppe senden kann
anstatt sie so zu verschachteln, wie sie ursprünglich erschienen sind. Das macht die
Skript angenehmer zu lesen. Es könnte jedoch möglicherweise falsch sein, wenn
Sie mussten wirklich warten, um jedes Zeichen zu sehen.

· Ändern. Autoexpect zeichnet jedes Zeichen aus der Interaktion im Skript auf.
Dies ist wünschenswert, weil es Ihnen die Möglichkeit gibt, Urteile über zu fällen
was wichtig ist und was durch eine Musterübereinstimmung ersetzt werden kann.

Wenn Sie dagegen Befehle verwenden, deren Ausgabe sich von Lauf zu Lauf unterscheidet,
die generierten Skripte werden nicht korrekt sein. Zum Beispiel das "Datum"
Befehl erzeugt immer eine andere Ausgabe. Verwenden Sie also den Datumsbefehl, während
Das Ausführen von autoexpect ist ein sicherer Weg, um ein Skript zu erstellen, das bearbeitet werden muss.
damit es funktioniert.

Das Flag -p versetzt autoexpect in den "Eingabeaufforderungsmodus". In diesem Modus wird Autoexpect
Suchen Sie nur nach der letzten Zeile der Programmausgabe - die normalerweise die
prompt. Dies behandelt das Datumsproblem (siehe oben) und die meisten anderen.

Im folgenden Beispiel wird autoexpect im Eingabeaufforderungsmodus gestartet.

automatisch erwarten -p

Das Flag -P definiert eine Taste zum Umschalten des Eingabeaufforderungsmodus. Das folgende Beispiel beginnt
autoexpect (im Non-Prompt-Modus) mit ^P als Umschalter. Beachten Sie, dass das ^P ist
wörtlich eingegeben - dh geben Sie ein echtes Control-P ein.

automatisch erwarten -P ^P

Im folgenden Beispiel wird autoexpect im Eingabeaufforderungsmodus mit ^P als Umschalter gestartet.

automatisch erwarten -p -P ^P

anderes FLAGGEN


Das -ruhig Flag deaktiviert von autoexpect erzeugte Informationsnachrichten.

Das -Q Flag benennt ein Anführungszeichen, das verwendet werden kann, um Zeichen einzugeben, die automatisch erwarten
würde sonst verbrauchen, weil sie als Umschalter verwendet werden.

Das folgende Beispiel zeigt eine Reihe von Flags mit Anführungszeichen, die für die Eingabe verwendet werden
die Knebel buchstäblich.

automatisch erwarten -P ^P -C ^L -Q ^Q

STYLE


Ich weiß nicht, ob es einen "Stil" für Expect-Programme gibt, aber autoexpect sollte auf jeden Fall
nicht als stilistisches Vorbild hochgehalten werden. Autoexpect verwendet beispielsweise Funktionen von Expect
die speziell für computergenerierte Skripte bestimmt sind. Also versuch es nicht
Schreiben Sie getreu Skripte, die aussehen, als ob sie von autoexpect generiert wurden. Das ist nicht
sinnvoll.

Auf der anderen Seite zeigen Autoexpect-Skripte einige lohnende Dinge. Zum Beispiel du
kann sehen, wie eine Zeichenfolge in Anführungszeichen gesetzt werden muss, um sie in einem Tcl-Skript zu verwenden, indem Sie einfach ausführen
die Zeichenfolgen durch autoexpect.

Verwenden Sie autoexpect online mit den onworks.net-Diensten


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

  • 1
    Avogadro
    Avogadro
    Avogadro ist ein fortschrittliches Molekül
    Editor für den plattformübergreifenden Einsatz
    in Computerchemie, Molekular
    Modellierung, Bioinformatik, Materialien
    Wissenschaft und ...
    Avogadro herunterladen
  • 2
    XMLTV
    XMLTV
    XMLTV ist eine Reihe von Programmen, die verarbeitet werden müssen
    TV-Listen (tvguide) und Hilfe bei der Verwaltung
    Ihre TV-Anzeige, Speichern von Einträgen in einem
    XML-basiertes Format. Es gibt Dienstprogramme zu
    tun...
    XMLTV herunterladen
  • 3
    streikr
    streikr
    Strikr Free Software-Projekt. Artefakte
    veröffentlicht unter einem "intent based"
    Doppellizenz: AGPLv3 (Community) und
    CC-BY-NC-ND 4.0 international
    (Werbung)...
    Laden Sie strikr herunter
  • 5
    GIFLIB
    GIFLIB
    giflib ist eine Bibliothek zum Lesen und
    gif-bilder schreiben. Es ist API und ABI
    kompatibel mit libungif, das in war
    breite Verwendung während der LZW-Komprimierung
    Algorithmus war ...
    Laden Sie GIFLIB herunter
  • 6
    Alt-F
    Alt-F
    Alt-F bietet eine kostenlose und Open Source
    alternative Firmware für den DLINK
    DNS-320/320L/321/323/325/327L and
    DNR-322L. Alt-F hat Samba und NFS;
    unterstützt ext2/3/4...
    Laden Sie Alt-F herunter
  • Mehr »

Linux-Befehle

Ad