Seite 1 von 1

Expect Probem bei Script zum ändern des root pws

Verfasst: 21. Aug 2006 11:53
von jochen123
Hallo,

ich habe ein Problem mit einem Expect-Script. Und zwar soll dieses das Passwort von root ändern. Es hängt sich aber nach der ersten Aufforderung zur eingabe des Passworts auf und bleibt stehen.

Hier das script:
########################################
#!/usr/bin/expect -f
#
set timeout -1
match_max 100000
# password
set password [lindex $argv 1]
# username
set user [lindex $argv 0]
# opem shell
spawn $env(SHELL)
# send passwd command
send -- "passwd $user\r"
expect "*?assword:*"
send -- "$password\r"
expect "*?assword:*"
send -- "$password\r"
send -- "\r"
expect eof
########################################

Ausgabe die dann kommt ( habe als pw test2 genommen)

root@2[~]# ./script root test2
spawn /bin/bash
passwd root
root@3[~]# passwd root
Enter new UNIX password: test2


Problem ist das er nach der ersten pw eingabe stehenbleibt, bzw. keine 2te aufforderung zur eingabe des Passworts kommt die expect dann abfangen würde.

Einer ne Idee oder sieht den Fehler?

Verfasst: 21. Aug 2006 12:42
von Janka
Wieso nimmst du \r (CR)? Müsste es nicht eher \n (LF) sein?

Janka