[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

help with expect?



I know this may not be the correct forum for this question, but I just can't find where the appropriate place to ask would be. I'm trying to move an expect script from and older non-fedora linux box to a new fedora box. It's just not working. I'm thinking it has less to do with expect and more to do with the passwd function on fedora, but I'm not sure. What I'm trying to do is call the expect script to set a password from inside a customized useradd fuction. This is what my scipt looks like:
!/usr/bin/expect -f
;# autopass created 7-27-97
exp_internal 1


set name [lindex $argv 0]
set pass [lindex $argv 1]
set bad 0

#spawns passwd and sends all the info

log_user 1

spawn /usr/bin/passwd $name

expect "password:" {send "$pass\r"}

expect  {
          "BAD" {set bad 1}
          "password:" {send "$pass\r"}
        }

#puts "$bad";
if {$bad == 1} {
expect "password:" {send "$pass\r"}
expect "password:" {send "$pass\r"}
}
expect "successfully." {puts "passwd for $name changed.";}
close

And this is my output...it doesn't appear as if passwd is accepting the input:
[root hedwig anner]# /usr/local/bin/autopass anner try12
Application initialization failed: no display name and no $DISPLAY environment variable
spawn /usr/bin/passwd anner
parent: waiting for sync byte
parent: telling child to go ahead
parent: now unsynchronized from child
spawn: returns {12118}


expect: does "" (spawn_id exp4) match glob pattern "password:"? no
Changing password for user anner.

expect: does "Changing password for user anner.\r\n" (spawn_id exp4) match glob pattern "password:"? no
New UNIX password:
expect: does "Changing password for user anner.\r\nNew UNIX password: " (spawn_id exp4) match glob pattern "password:"? yes
expect: set expect_out(0,string) "password:"
expect: set expect_out(spawn_id) "exp4"
expect: set expect_out(buffer) "Changing password for user anner.\r\nNew UNIX password:"
send: sending "try12\r" to { exp4 }


expect: does " " (spawn_id exp4) match glob pattern "BAD"? no
"password:"? no
try12

expect: does " try12\r\n" (spawn_id exp4) match glob pattern "BAD"? no
"password:"? no
expect: timed out

expect: does " try12\r\n" (spawn_id exp4) match glob pattern "successfully."? no
expect: timed out


Any help would be appreciated.

--
Anne


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]