设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
关于用EXPECT实现自动交互设置用户密码的问题 [基本解决 ...
返回列表
查看:
777
|
回复:
4
关于用EXPECT实现自动交互设置用户密码的问题 [基本解决]
[复制链接]
runsnake
runsnake
当前离线
积分
151
IP卡
狗仔卡
发表于 2004-12-23 13:41:01
|
显示全部楼层
|
阅读模式
写了脚本:userpasswd(见后),来实现给系统新用户赋予同样的初始密码,但出现怪问题:有的时候前几次都不成功,屏幕显示:
[root@linux root]#./userpasswd abc
spawn passwd abc
Changing password for user abc
New password: linux147 (在这大概停顿8秒)
(空一行)
Retype new password: [root@linux root]#
然后什么都没有修改,又重复运行,又成功了,的确修改的用户abc的密码。一般出现前面的情况2~4次后就可以象下面显示一样成功一次:
[root@linux root]#./userpasswd abc
spawn passwd abc
Changing password for user abc
New password: linux147 (没有停顿)
(空一行)
Retype new password: linux147
(空一行)
passwd:all authentication tokens updated successfully.
那位高手知道这是为什么??我的系统是RH9,EXPECT的版本是5.38.0,TCL的版本是8.3.5
****文件userpasswd内容********
#!/usr/bin/expect
set username [lindex $argv 0]
set password linux147
spawn passwd $username
expect "New password: "
send "$password\r"
expect "Retype new password: "
send "$password\r"
expect eof
exit
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
yongjian
yongjian
当前离线
积分
2576
IP卡
狗仔卡
发表于 2004-12-24 01:44:32
|
显示全部楼层
set timeout 5
set send_human {.1 .3 1 .05 1}
回复
支持
反对
使用道具
举报
显身卡
yongjian
yongjian
当前离线
积分
2576
IP卡
狗仔卡
发表于 2004-12-24 01:46:15
|
显示全部楼层
use "send -h" instead of "send". 加上这些设定,看是不是运行的好些。
回复
支持
反对
使用道具
举报
显身卡
runsnake
runsnake
当前离线
积分
151
IP卡
狗仔卡
楼主
|
发表于 2004-12-24 12:21:32
|
显示全部楼层
多谢斑竹呀,按您的修改,的确好了,但能否麻烦您解释一下下面这句话的意思
set send_human {.1 .3 1 .05 1}
还有send加上-h表示什么?
刚学EXPECT,不是很明白,若您方便的请回答一下,十分感谢!
回复
支持
反对
使用道具
举报
显身卡
yongjian
yongjian
当前离线
积分
2576
IP卡
狗仔卡
发表于 2004-12-24 12:37:25
|
显示全部楼层
send_human表示让expect模拟人手的输入, 你知道人手的输入速度是有限的, 电脑的输入是lighting speed, 伪终端有时catch不上. send -h 也是同样的作用, 表示输出到终端的时候expect也要模拟人手操作. 我原来用expect的时候也有这样的问题, 后来熟看了manpage后知道有这么个开关. 建议可以多看看man.
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Archlinux讨论区
Debian Linux
SuSE Linux
开源软件专题讨论
Gentoo Linux
Linux 程序设计专题讨论
Redhat/Fedora/CentOS Linux
Linux 基础讨论区(新手速成)
BSD 讨论专题
Ubuntu Linux 专题讨论
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表