Sponsored Content
Full Discussion: Expect - bash and variables
Top Forums Shell Programming and Scripting Expect - bash and variables Post 302929564 by Chubler_XL on Monday 22nd of December 2014 07:57:59 PM
Old 12-22-2014
Yes looks like send_user is needed try this:

Code:
#!/bin/bash
#script for email validation
emaillist=emaillist1.txt
#emaillist=client.csv
SMTPport=25

clear
echo "---------------------------------------------------------------------"
echo "Now performing email validations.......... Please be patient."
echo "---------------------------------------------------------------------"
echo ""
echo ""

header="%-20s %-20s %-10s %-20s %10s\n"
body="%-20s %-20s %-10s %-20s %10s\n"


printf "$header" "E-mail" "Domain" "F-Name" "L-Name" "Status"
printf "$header" "_______________" "____________________" "__________" "____________________" "____________________"


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=vvv
	SMTPlist=$(host $domain | grep "handled by" | awk '{print $7}' | sed 's/\.$//' )
	address=("${address[@]}" $SMTPlist)
	
	status=$(/usr/bin/expect << EOF
	#exp_internal 1
	set timeout 1
	#set echo on
	log_user 0
	
	spawn telnet ${address[4]} $SMTPport
	expect "220"

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

	send "mail from: <mickeymouse@disney.com>\r"
	expect "250"

	send "rcpt to: <$userid@$domain>\r"
	expect {
		"250" 	{
			set status $expect_out(buffer)
			send_user "$status"
			puts stderr "validation SUCCESSFUL"
			send_user "SUCCESS"
		}
		"230" {puts stderr "ACCESS denied validation UNSUCCESSFUL"}
		"550" {puts stderr "$userid@$domain validation UNSUCCESSFUL"}
		"553" {puts stderr "Requested action nottaken validation UNSUCCESSFUL"}
	}
	
	send "quit"
	expect "closed"
EOF
)

echo "status is ------ $status"
printf "$body" "$userid" "$domain" "$fname" "$lname" "$status"
 done < $emaillist

This User Gave Thanks to Chubler_XL For This Post:
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Problems with expect and set variables

I'm writing a script that'll send a time-stamp to my backup server. I create a file with the name of the current date, send it to my server with scp and rm the file from the local computer. Individually these commands work fine and with a set name the expect scripts also work fine. The problem... (0 Replies)
Discussion started by: Ktesh564
0 Replies

2. Shell Programming and Scripting

Need expect to read variables from a list while logged into the same device

Hi, I'm primarily a Cisco/Juniper networking guy, so you'll have to forgive my ignorance when it comes to scripting (although I do write simple backup scripts and things of that nature on a regular basis and I run Linux at home, so I am vaguely familiar with it). What I need to do should be... (2 Replies)
Discussion started by: wolverene13
2 Replies

3. UNIX for Dummies Questions & Answers

How to pass variables in Expect command?

Hi All, I need to frame a unix script to logon to a unix box. The credentials needs to be obtained from a property file on the same location. I am trying to use 'expect' and 'spawn' command to meet this req. When I am passing values, these commands are working fine. but when I am trying to... (3 Replies)
Discussion started by: mailkarthik
3 Replies

4. Shell Programming and Scripting

expect in bash script

Hi, I'm writing a shell script that calls a few commands that prompt the user for two simple yes/no questions. if the answers are consistent (the first is a yes, the second is a no), what would my expect script look like? Google is only giving me answers for scripts where I telnet or ssh. right now... (3 Replies)
Discussion started by: js741
3 Replies

5. Shell Programming and Scripting

Expect and variables

I'm trying to make an expect function that will pass through a variable. /usr/bin/expect<<EOD spawn su - expect "Password: " send "$psswd\r" expect "#" send "/etc/init.d/network restart >>$log\r" expect "#" send "exit\r" EOD The $log passes through but my $psswd fails I know... (1 Reply)
Discussion started by: Lotheovian
1 Replies

6. Shell Programming and Scripting

Expect in bash to get the return value

cat test.sh #!/bin/sh expect <<- EOF set timeout 5 spawn ssh -o StrictHostKeyChecking=no lyang0@128.224.178.245 -C mkdir -p /tmp expect { "Password:" {send "root\r"} } spawn scp -o StrictHostKeyChecking=no /tmp/1 lyang0@128.224.178.245:/tmp/ ... (1 Reply)
Discussion started by: yanglei_fage
1 Replies

7. Shell Programming and Scripting

BASH arrays and variables of variables in C++

Sometimes it is handy to protect long scripts in C++. The following syntax works fine for simple commands: #define SHELLSCRIPT1 "\ #/bin/bash \n\ echo \"hello\" \n\ " int main () { cout <<system(SHELLSCRIPT1); return 0; } Unfortunately for there are problems for: 1d arrays:... (10 Replies)
Discussion started by: frad
10 Replies

8. Shell Programming and Scripting

Passing awk variables to bash variables

Trying to do so echo "111:222:333" |awk -F: '{system("export TESTO=" $2)}'But it doesn't work (2 Replies)
Discussion started by: urello
2 Replies

9. Shell Programming and Scripting

Bash script with expect

Dear all Hi I want use expect in bash so that we can not use these with each other /bin/bash. With. /usr/bin/expect How can use these with on script or how can call a script from other script #!/bin/bash clear echo "================================== " echo "Enter your Esxi IP"... (3 Replies)
Discussion started by: Baber
3 Replies

10. UNIX for Advanced & Expert Users

Bash script + expect

im very happy to back for this forum I have servers with alias of double dns extentions: sample: servera.test.com servera.test1.com serverb.test.com serverb.test1.com I need to login to that severs and executing the set of commands if test.com failed then try to login via... (0 Replies)
Discussion started by: prakash0106
0 Replies
OCF_HEARTBEAT_VIPARI(7) 					OCF resource agents					   OCF_HEARTBEAT_VIPARI(7)

NAME
ocf_heartbeat_VIPArip - Manages a virtual IP address through RIP2 SYNOPSIS
VIPArip [start | stop | monitor | meta-data | validate-all] DESCRIPTION
Virtual IP Address by RIP2 protocol. This script manages IP alias in different subnet with quagga/ripd. It can add an IP alias, or remove one. SUPPORTED PARAMETERS
ip The IPv4 address in different subnet, for example "192.168.1.1". (unique, required, string, no default) nic The nic for broadcast the route information. The ripd uses this nic to broadcast the route informaton to others (optional, string, default eth0) zebra_binary Absolute path to the zebra binary. (optional, string, default /usr/sbin/zebra) ripd_binary Absolute path to the ripd binary. (optional, string, default /usr/sbin/ripd) SUPPORTED ACTIONS
This resource agent supports the following actions (operations): start Starts the resource. Suggested minimum timeout: 20s. stop Stops the resource. Suggested minimum timeout: 20s. monitor Performs a detailed status check. Suggested minimum timeout: 20s. Suggested interval: 5s. validate-all Performs a validation of the resource configuration. Suggested minimum timeout: 20s. meta-data Retrieves resource agent metadata (internal use only). Suggested minimum timeout: 5s. EXAMPLE
The following is an example configuration for a VIPArip resource using the crm(8) shell: primitive p_VIPArip ocf:heartbeat:VIPArip params ip=string op monitor depth="0" timeout="20s" interval="5s" SEE ALSO
http://www.linux-ha.org/wiki/VIPArip_(resource_agent) AUTHOR
Linux-HA contributors (see the resource agent source for information about individual authors) resource-agents UNKNOWN 03/09/2014 OCF_HEARTBEAT_VIPARI(7)
All times are GMT -4. The time now is 09:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy