码迷,mamicode.com
首页 > 其他好文 > 详细

expect交互式创建账号密码

时间:2016-05-05 17:40:54      阅读:127      评论:0      收藏:0      [点我收藏+]

标签:

#!/usr/bin/expect
set user [lindex $argv 0]
set pass [lindex $argv 1]
spawn useradd -s /bin/sh -d /home/$user $user
expect "*#"
spawn passwd $user
expect "*password:"
send "$pass\r"
expect "*password:"
send "$pass\r"
spawn smbpasswd -a $user
expect "*password:"
send "$pass\r"
expect "*password:"
send "$pass\r"
interact

注释:

spawn: 后面加上需要执行的shell 命令

expect: 只有spawn 执行的命令结果才会被expect 捕捉到,因为spawn 会启

动一个进程,只有这个进程的相关信息才会被捕捉到,主要包括:标准输入的提
示信息,eof 和timeout。
send 和send_user:send 会将expect 脚本中需要的信息发送给spawn 启动
的那个进程,而send_user 只是回显用户发出的信息,类似于shell 中的echo 而
已。
set 脚本传参,expect是通过set <变量名称> [lindex $argv <param index>]

expect交互式创建账号密码

标签:

原文地址:http://www.cnblogs.com/zclzhao/p/5462391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!