expect自动登录

 expect是一个用来处理交互的命令,可通过expect实现ssh自动登录,ftp自动登录,不需要手动输入密码。

1. scp传输文件

#将$SrcFile拷贝至$Host的$Work目录下
#spawn 启动新进程
expect -c "
	spawn scp $SrcFile yourname@${Host}:${Work}
	expect {
	\"(yes/no)?\"	{ send \"yes\n\"; exp_continue; }
	\"*assword:\" 	{ set timeout 200; send \"${Password}\n\"; }
	}
expect "100%"
expect eof"

2. ssh自动登录

#远程启动$FileName进程,多条命令以;分隔
expect -c "
	spawn ssh yourname@${Host} \"cd ${Work}; ./${FileName};\"
	expect {
	\"(yes/no)?\"	{ send \"yes\n\"; exp_continue; }
	\"*assword:\" 	{ set timeout 200; send \"${Password}\n\"; }
	}
expect eof"

猜你喜欢

转载自tcspecial.iteye.com/blog/2376017