bash - 기대치와 변수

bash - 기대치와 변수

나는 다음을 가지고 있습니다 :

while read line; do
    userinfo=$(echo $line | sed 's/@/,/')
    IFS=',' read -a address <<< "$userinfo"
    userid="${address[0]}"
    domain="${address[1]}"
    fname="${address[2]}"
    lname="${address[3]}"
    #status=xxx
    SMTPlist=$(host $domain | grep "handled by" | awk '{print $7}' | sed 's/\.$//' )
    address=("${address[@]}" $SMTPlist) 

    #echo $email ---- $domain ---- $fname ---- $lname
    /usr/bin/expect << EOF
    set timeout 1
    #set echo on
    #log_user 0

    spawn telnet ${address[4]} $telnetport
    expect "220"

    send "helo $domain\r"
    expect "service"

    send "mail from: <[email protected]>\r"
    expect "250"

    send "rcpt to: <$userid@$domain>\r"
    expect {
        "250"   {
                send_user "$userid@$domain validation SUCCESSFUL\n"
                **set status "SUCCESSFUL"
                puts "status = \$status"**
                }
        "230" {send_user "ACCESS denied validation UNSUCCESSFUL\n"}
        "550" {send_user "$userid@$domain validation UNSUCCESSFUL\n"}       
        "553" {send_user "Requested action nottaken validation UNSUCCESSFUL\n"}     
    }

    send "quit"
    expect "closed"
EOF
    printf "$body" "$userid" "$domain" "$fname" "$lname" "$status"
 done < $emaillist

EXPECT의 while 루프에 변수를 설정하고 bash로 반환하려고 합니다.

                **set status "SUCCESSFUL"
                puts "status = \$status"**

구문이 올바른지 또는 뭔가 빠졌는지 확실하지 않습니다. 어떤 의견이라도 높이 평가하겠습니다. 감사해요.

관련 정보