Domanda

Il nmap strumento ha una tale funzione - quando si sta eseguendo una scansione [#nmap -A -T4 localhost] e premere "Invio" - visualizza tipo di informazioni sullo stato "Timing: Circa 6,17% fatto"

Domanda -? Come posso forzare questo pressione di un tasto per accadere più volte senza toccare una tastiera in Bourne shell

ps:. Solo cercando di trovare una soluzione alternativa per un bug nella funzione di proc_open di php, quando stdout di un processo viene restituito solo dopo la chiusura del tubo stdout, e l'emulazione pty di PHP non funziona sul FBSD

Domanda chiusa. Problema risolto con l'utilità "aspettarsi"

#!/usr/local/bin/expect

spawn /usr/local/bin/nmap -A -T4 -p 21-100 localhost
expect arting {sleep 3; send \r}
while {1} {
        expect eof {
            send_user "finished\n";
            exit;
        } "done;" {
            sleep 3;
            send \r;
            continue;
        }

}
È stato utile?

Soluzione

Probabilmente più facile da usare expect .

Altri suggerimenti

Forse l'ultimo programma di 'Yes Man' farà ciò che è necessario - il programma si chiama 'sì' e ripetutamente genera la stessa linea di ingresso più e più volte

.
yes ok | recalcitrant.php 

Questo invierà 'ok' più a capo al PHP recalcitrante di frequente. È rate limitato dalla velocità alla quale il programma ricevente legge i suoi ingressi. E 'disponibile nelle utility GNU, e sulla maggior parte delle altre piattaforme Unix.

Se avete bisogno di intelligence nel settore della trasformazione, anche se, poi il Tcl-based ' aspettarsi '

Nota, si può sbarazzarsi del ciclo infinito:

spawn /usr/local/bin/nmap -A -T4 -p 21-100 localhost
expect arting {sleep 3; send \r}
expect {
    "done;" {
        sleep 3
        send \r
        exp_continue
    }
    eof
}
puts "finished"

Sei certo bisogno dei sleeps? In genere possono essere evitati utilizzando abbinamento -regexp con il comando expect.

Utile Aspettatevi consiglio: durante lo sviluppo, utilizzare exp_internal 1 per verbosamente vedere come i vostri modelli sono corrispondenti del comando

.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top