2010-09-03 17 views

risposta

5

L'aspettativa è la migliore per il controllo degli script che emettono query e richiedono una risposta. Molti altri linguaggi si scontrano con questo e creano deadlock su stdin/stdout quando provano ad usarli entrambi. Expect risolve anche alcuni problemi con l'immissione della password (come quando si esegue lo scripting di SSH).

Detto questo non è necessario sapere aspettarsi perché molti altri linguaggi hanno un modulo previsto (tcl e python vengono in mente) che forniscono lo stesso comportamento.

Devo dire che dipende dal vostro lavoro. Se trascorri molto tempo a interagire con script di comando ripetitivi o FTP, allora vale la pena aggiungere al tuo arsenale di scripting.

+3

Forse intendevi "perl e python"? L'Expect originale è comunque costruito sopra Tcl. –

3

Non fa mai male avere un altro strumento nel kit. Aspettarsi davvero riempie la sua nicchia estremamente bene.

Il libro Expect per la quintessenza è Exploring Expect. È l'unico libro di Expect che ti serve.

4

SpliFF ha scritto sopra "... interagendo con script di comando ripetitivo o FTP ..." Mentre io sono tutto per l'automazione e considero Prevedi come indispensabili, Expect NON è necessario nel 2010 per FTP o molti altri ruoli dove una volta era necessario. Ad esempio, quindici anni fa, Expect era un modo appropriato per automatizzare l'FTP; ora, la maggior parte dei linguaggi di scripting ha già una capacità sufficiente per sostituire l'uso di Expect con FTP. Molte, molte automazioni possono essere fatte con ciò che Perl, Python, Tcl, ... già compilano, e Expect non è essenziale per queste applicazioni.

Problemi correlati