Help with Expect in Shell Script

Hi All,

I have a expect script which is working for single server, but if i am trying to pass value of the variable inside expect, it is not working. Please see below :-

expect -c 'spawn ssh username@ip_address ; expect assword ; send "Password1\n" ; send "uptime \n" ; send "free -m \n" ; expect "$" interact' > a.log

if i store data in a variable and pass the variable, it is not working. something like :-

server_name=`head -n $a /home/a.txt`
expect -c 'spawn ssh username@$server_name expect assword ; send "Password1\n" ; send "uptime \n" ; send "free -m \n" ; expect "$" interact' > a.log

Please help out in passing variable inside expect

Regards,
Renjesh