Linux spawn, erwarten, senden

3541
Chun Tat David Chu

Der folgende Code funktioniert nicht, aber ich möchte "n" beantworten, wenn YUM fragt, ob ich die Software installieren möchte oder nicht. Vielen Dank

#!/usr/bin/expect -f  spawn yum install emacs expect "Is this ok \[y\/N\]:" send "n\r" 
0
Fügen Sie am Ende des Skripts "exp_internal 1" hinzu und führen Sie den Vorgang erneut aus. Dadurch erhalten Sie viele Debugging-Informationen glenn jackman vor 12 Jahren 0

3 Antworten auf die Frage

2
Ilan.K

Beginnen wir mit Ihrem Code-Snippet

#!/usr/bin/expect -f  expect -c " set timeout 15 spawn yum install emacs  expect { "]:" { send n\r ; sleep 1 ; exp_continue }  } " 

es funktioniert auch mit #!/bin/bashan der Spitze

1
mgorven

Auf der yum-Manpage :

-y, --assumeyes Assume yes; assume that the answer to any question which would be asked is yes. Configuration Option: assumeyes 

Also einfach verwenden, yum -yanstatt herumzuspielen expect.

0
Darkmage

ändere das expect "Is this ok \[y\/N\]:"

zu

erwarten von "]:"

Bekommst du den gleichen Fehler? Wenn nicht, ist es ein Tippfehler in Ihrer Erwartung.