Expect script called in loop from Bash Script

Having issues with an expect script. I've been scripting bash, python, etc... for a couple years now, but just started to try and use Expect. Trying to create a script that takes in some arguments, and then for now, just runs a pwd command(for testing, final will be command I pass).

Here is the bash script:

#!/bin/bash
if [[ $# -eq 0 ]];then
        echo "USAGE: $0 <dirname> <servername1> <servername2> ..."
fi
dirVar="$1"
shift
mypassword=`cat /home/chris/sshPush/.pass`
for i in $*; do
        expect -d ./expect-pwd.exp $dirVar chris $i
done
#!/usr/bin/expect -f
set filename [lindex $argv 0]
set user [lindex $argv 1]
set server [lindex $argv 2]
set timeout -1
set exp_internal 1
spawn ssh $server

sleep 1
expect ^*/home/chris*
send "su - asa\r"

expect ^*sword:
send "password\r"

expect ^*$server*
#send -- "mkdir -p $filename\r"
send -- "pwd\r"
close

Here is the output I get from that:

expect: does "\r\n[YOU HAVE NEW MAIL]\r\n\u001b[?1034h[08:27:37]\u001b[1;34m\u0002asa@remoteHost\u001b[00m:\u001b[1;34m~\u001b[00m$" (spawn_id exp6) match glob pattern "^*remoteHost*"? yes
expect: set expect_out(0,string) "\r\n[YOU HAVE NEW MAIL]\r\n\u001b[?1034h[08:27:37]\u001b[1;34m\u0002asa@remoteHost\u001b[00m:\u001b[1;34m~\u001b[00m$"
expect: set expect_out(spawn_id) "exp6"
expect: set expect_out(buffer) "\r\n[YOU HAVE NEW MAIL]\r\n\u001b[?1034h[08:27:37]\u001b[1;34m\u0002asa@remoteHost\u001b[00m:\u001b[1;34m~\u001b[00m$"
send: sending "pwd\r" to { exp6 }
expect: spawn id exp6 not open
    while executing
"expect eof"
    (file "./expect-pwd.exp" line 21)
chris@localHost:~/sshPush$ vi expect-pwd.exp
chris@localHost:~/sshPush$ ./mkDirSrv.sh /home/asa/ remoteHost
expect version 5.45
argv[0] = expect  argv[1] = -d  argv[2] = ./expect-pwd.exp  argv[3] = /home/asa/  argv[4] = chris  argv[5] = remoteHost
set argc 3
set argv0 "./expect-pwd.exp"
set argv "/home/asa/ chris remoteHost"
executing commands from command file ./expect-pwd.exp
spawn ssh remoteHost
parent: waiting for sync byte
parent: telling child to go ahead
parent: now unsynchronized from child
spawn: returns {12876}

expect: does "" (spawn_id exp6) match glob pattern "^*/home/chris*"? no
Warning: Permanently added 'remoteHost,192.168.1.10' (RSA) to the list of known hosts.
*******************************************************************************
(remoteHost(chris):/home/chris)$
expect: does "Warning: Permanently added 'remoteHost,192.168.1.10' (RSA) to the list of known hosts.\r\r\n*******************************************************************************\r\n(remoteHost(chris):/home/chris)$  " (spawn_id exp6) match glob pattern "^*/home/chris*"? yes
expect: set expect_out(0,string) "Warning: Permanently added 'remoteHost,192.168.1.10' (RSA) to the list of known hosts.\r\r\n*******************************************************************************\r\n(remoteHost(chris):/home/chris)$  "
expect: set expect_out(spawn_id) "exp6"
expect: set expect_out(buffer) "Warning: Permanently added 'remoteHost,192.168.1.10' (RSA) to the list of known hosts.\r\r\n*******************************************************************************\r\n(remoteHost(chris):/home/chris)$  "
send: sending "su - asa\r" to { exp6 }

expect: does "" (spawn_id exp6) match glob pattern "^*sword:"? no
su - asa

expect: does "su - asa\r\n" (spawn_id exp6) match glob pattern "^*sword:"? no
asa's Password:
expect: does "su - asa\r\nasa's Password:" (spawn_id exp6) match glob pattern "^*sword:"? yes
expect: set expect_out(0,string) "su - asa\r\nasa's Password:"
expect: set expect_out(spawn_id) "exp6"
expect: set expect_out(buffer) "su - asa\r\nasa's Password:"
send: sending "password\r" to { exp6 }

expect: does "" (spawn_id exp6) match glob pattern "^*remoteHost*"? no


expect: does "\r\n" (spawn_id exp6) match glob pattern "^*remoteHost*"? no
[YOU HAVE NEW MAIL]

expect: does "\r\n[YOU HAVE NEW MAIL]\r\n" (spawn_id exp6) match glob pattern "^*remoteHost*"? no
[08:27:51]asa@remoteHost:~$
expect: does "\r\n[YOU HAVE NEW MAIL]\r\n\u001b[?1034h[08:27:51]\u001b[1;34m\u0002asa@remoteHost\u001b[00m:\u001b[1;34m~\u001b[00m$" (spawn_id exp6) match glob pattern "^*remoteHost*"? yes
expect: set expect_out(0,string) "\r\n[YOU HAVE NEW MAIL]\r\n\u001b[?1034h[08:27:51]\u001b[1;34m\u0002asa@remoteHost\u001b[00m:\u001b[1;34m~\u001b[00m$"
expect: set expect_out(spawn_id) "exp6"
expect: set expect_out(buffer) "\r\n[YOU HAVE NEW MAIL]\r\n\u001b[?1034h[08:27:51]\u001b[1;34m\u0002asa@remoteHost\u001b[00m:\u001b[1;34m~\u001b[00m$"
send: sending "pwd\r" to { exp6 }

It says it is sending the "pwd\r", but it never really does. I've also tried this with a mkdir and a touch command, not working. Almost like the connection is closing before it's able to send the command.