Shell脚本中调用expect,实现自动输入密码的功能

该脚本的源码是为了实现从远程的服务器上面拉文件到本机。
主要是为了实现自动输入密码的功能。
#!/bin/bash
shellPath=$(cd "$(dirname "$0")"; pwd)
pid=0

function check_process_exist(){
	ps_out=`ps -ef | grep taskmanager | grep -v 'grep'`
	result=$(echo $ps_out | grep $1)
    	if [[ "$result" == "" ]]; then
        	return 0
    	else
        	return 1
    	fi
}

/usr/bin/expect <<-EOF
spawn scp $1@$2:$3 "$shellPath/$4"
expect {
"yes/no" { send "yes\r";exp_continue }
"password" { send "$5\r" }
}
expect eof
exit 0
EOF

tar -zxvf $4
python modifyConfig.py $6
cd taskmanager
chmod +x proServer.sh
./proServer.sh start
pid=$(cat pid)
echo "waiting"
while true
do
	check_process_exist $pid
	if [ $? -eq 0 ]; then
        	echo "The process has stoped!"
       		exit 1
    	fi
    	sleep 1
done


 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值