expect(1)

Från Wiki.linux.se
Version från den 14 mars 2025 kl. 06.25 av Admin (diskussion | bidrag) (Skapade sidan med '== expect(1) - Linux manual sida == === Namn === '''expect''' - Programmerad dialog med interaktiva program, Version 5 === Synopsis === <code> expect [ -dDinN ] [ -c ''kommandon'' ] [ [ -[f|b] ] ''kommandofil'' ] [ ''argument'' ] </code> === Introduktion === Expect är ett program som "pratar" med andra interaktiva program enligt ett skript. Genom att följa skriptet vet Expect vad som kan förväntas från ett program och vad det korrekta svaret bör vara. Expect kan...')
(skillnad) ← Äldre version | Nuvarande version (skillnad) | Nyare version → (skillnad)
Hoppa till navigering Hoppa till sök

expect(1) - Linux manual sida

Namn

expect - Programmerad dialog med interaktiva program, Version 5

Synopsis

expect [ -dDinN ] [ -c kommandon ] [ [ -[f|b] ] kommandofil ] [ argument ]

Introduktion

Expect är ett program som "pratar" med andra interaktiva program enligt ett skript. Genom att följa skriptet vet Expect vad som kan förväntas från ett program och vad det korrekta svaret bör vara. Expect kan användas direkt i C eller C++ (utan Tcl) och kan även integreras med Tk genom Expectk.

Expect är särskilt användbart för att:

  • Automatisera inloggning på fjärrsystem
  • Interagera med interaktiva kommandoradsverktyg
  • Automatisera felhantering vid exekvering av systemverktyg
  • Hantera terminalapplikationer

Användning

Expect läser en kommandofil och exekverar instruktioner enligt den. Alternativt kan det användas med `#!` notation i skript:

  1. !/usr/local/bin/expect -f

Några viktiga flaggor:

  • `-c "kommando"` - Exekverar ett kommando innan något annat i skriptet.
  • `-d` - Aktiverar diagnostisk utmatning.
  • `-i` - Startar interaktivt läge.
  • `-N` - Förhindrar laddning av konfigurationsfiler.
  • `-n` - Förhindrar laddning av användarens `.expect.rc`-fil.

Kommandon

Expect använder Tcl som sitt skriptspråk och inkluderar kommandon för att hantera interaktiva sessioner.

  • `spawn <program>` - Startar ett nytt program för interaktion.
  • `expect <mönster>` - Väntar på att en viss utmatning ska visas.
  • `send "text"` - Skickar text till det startade programmet.
  • `interact` - Ger användaren kontroll över sessionen.
  • `exp_continue` - Fortsätter matchning av fler mönster efter en träff.
  • `expect_user` - Väntar på input från användaren.
  • `log_file <fil>` - Loggar sessionens utmatning till en fil.

Exempel

Ett enkelt Expect-skript för att automatisera en SSH-inloggning:

  1. !/usr/bin/expect -f

spawn ssh användare@server expect "password:" send "mittlösenord\r" interact

Buggar

Några kända problem:

  • Vissa system kan ha problem med pty-tilldelning.
  • Terminalinställningar kan påverka hur Expect tolkar utmatning.
  • Förväntade mönster kan påverkas av terminalens buffert och outputhantering.

Se även

  • `Tcl(3)`, `libexpect(3)`
  • "Exploring Expect" av Don Libes

Författare

Don Libes, National Institute of Standards and Technology (NIST)

Sidslut

Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/expect.1.html


Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på https://www.linux.se/kontaka-linux-se/

Tack till Datorreparation som har sponsrat Linux.se med webbhotell.