Potrebbe succedere che uno shell script che fa pesantemente uso di expect vi si pianti senza alcun motivo apparente. Potrebbe anche succedere che passiate delle ore a cercare di capire dove sta l'inghippo senza ottenere risultati.

Ecco allora che ci possono tornare utili alcuni piccoli magheggi da applicare al nostro script (causa di n-mila imprecazioni).
Il primo consiste nell'abilitare l'output dei comandi lanciati da expect. Per fare ciò è sufficente aggiungere exp_internal 1 allo script . Un esempio di output è il seguente:
parent: waiting for sync byte
parent: telling child to go ahead
parent: now unsynchronized from child
spawn: returns {22098}
expect: does "" (spawn_id exp6) match glob pattern "*?assword:*"? no
Inoltre (e sto parlando del secondo magheggio), posso garantirvi che nel 90% dei casi lo script fallisce a causa del timeout di expect. Per definire manualmente tale parametro basta inserire la seguente direttiva all'interno dello script:
set timeout <numero di secondi>
Ciò è necessario soprattutto se i comandi lanciati richiedono parecchio tempo per essere eseguiti (vedi dump di un database e copia dello stesso su una macchina remota).
Fine del post, fatene buon uso.





![Come acquistare prodotto Amazon minor prezzo! [Guida]](https://m2.paperblog.com/i/288/2882378/come-acquistare-un-prodotto-su-amazon-al-mino-L-l7i3wY-175x130.png)
