#!/bin/bash

tooldir=/usr/local/bin
toollist="zip unzip"

# distribute to hosts in file nehosts 
while read line
  do
    if [[ "$line" =~ ^[^[:space:]]*# || -z "$line" ]]; then
      continue
    fi
    user=`echo $line | cut -d " " -f 2`
    ip=`echo $line | cut -d " " -f 1`
    passwd=`echo $line | cut -d " " -f 3`
    
    for toolname in $toollist;do
      expect <<EOF
        set timeout 10
        spawn scp $tooldir/$toolname $user@$ip:/tmp 
        expect {
          "yes/no" { send "yes\n";exp_continue }
          "password" { send "$passwd\n" }
        }
        expect "password" { send "$passwd\n" }
EOF
    done
    for toolname in $toollist;do
      expect <<EOF
        set timeout 10
        spawn ssh $user@$ip sudo mv /tmp/$toolname $tooldir
        expect {
          "yes/no" { send "yes\n";exp_continue }
          "password" { send "$passwd\n" }
        }
        expect "password" { send "$passwd\n" }
EOF
    done    
  done <  nehosts
