文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>bash 与 expect结合使用

bash 与 expect结合使用

时间:2010-06-21  来源:skybin090804


看了很多例子都是/usr/bin/epxect 和 /bin/bash分开使用
经过测试是可以合在一起进行编程。

#!/bin/bash
PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:"
LANG=zh_CN
export PATH LANG


USERNAME="s"


############
# 主机信息 #
############
INTF=$(netstat -rn | tail -1 | awk '{print $NF}')
IP=$(ifconfig $INTF | awk '/inet addr/{ split($2,tmp,":") ; print tmp[2] }')
HOST_NAME=$(hostname --short)
###########
##########
#邮件环境#
##########
#CHARTSET=""
MAIL_CLIENT=""
MAIL_SENDER=""
MAIL_SERVER=""
case $IP in
        192.168.230.*|192.168.1[0-1].*|192.168.238.*|209.*)
        MAIL_SERVER=""
        ;;
        *)
        MAIL_SERVER=""
        ;;
esac
##########

tap=`expect -c "
        set timeout 200;
        spawn /usr/bin/ssh   "$USERNAME"@"$IP" 'pwd'
        expect {
                \"*yes/no*\" {send \"yes\r\"; exp_continue}
                \"*password*\" {send \"xxx\r\";}
        }
expect eof;"`

if echo $tap | grep -q "/home/support"
then
    echo "machinealine_=0"
else
    echo "machinealine_=1"
    echo "机器假死了,SSH连接不上去了" > /tmp/.deadalive
      #########发送邮件############
         env MAILRC=/dev/null charset="$CHARTSET" from="$MAIL_SENDER" smtp="$MAIL_SERVER" \
         nail -n -s "$HOST_NAME ($IP)假死检测" $MAIL_CLIENT < /tmp/.deadalive
fi
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载