#!/usr/bin/expect
set a "12345678"
spawn passwd user_00
expect
{
"新的*" { send "$a\r" }
"重新输入*" { send "$a\r" }
}
send "exit\r"
这是自己写的一个简单的expect测试脚本目的是为了让它自动能够改写用户user_00的密码,而不需要人去输入密码,预先设定的密码为a=12345678
执行后的结果在下面。。。我自己尝试了很多,但就是没有得到有效的解决办法。。(我在想,那个匹配的地方有问题,但是又没法真正解决)
set a "12345678"
spawn passwd user_00
expect
{
"新的*" { send "$a\r" }
"重新输入*" { send "$a\r" }
}
send "exit\r"
这是自己写的一个简单的expect测试脚本目的是为了让它自动能够改写用户user_00的密码,而不需要人去输入密码,预先设定的密码为a=12345678
执行后的结果在下面。。。我自己尝试了很多,但就是没有得到有效的解决办法。。(我在想,那个匹配的地方有问题,但是又没法真正解决)
0
解决了,,格式不对还是,,,这样些就对了,,但是还是不知道为什么这样写就可以
#!/usr/bin/expect
set a "1234567"
spawn passwd user_00
expect "新*"
send "$a\r"
expect "重新*"
send "$a\r"
send "exit\r"
expect eof
阿铭 发表于 2016-2-5 09:21
在脚本中运行时,它并不一定是中文。 你这样试试看,把系统语言改为英文。你的脚本也要改为英文。
LANG=e ...
解决了,,格式不对还是,,,这样些就对了,,但是还是不知道为什么这样写就可以
#!/usr/bin/expect
set a "1234567"
spawn passwd user_00
expect "新*"
send "$a\r"
expect "重新*"
send "$a\r"
send "exit\r"
expect eof
0
知道了,我写的第一个是并行结构,第二个是串行结构
daixiangzi 发表于 2016-2-5 12:29
解决了,,格式不对还是,,,这样些就对了,,但是还是不知道为什么这样写就可以
#!/usr/bin/expect
s ...
知道了,我写的第一个是并行结构,第二个是串行结构
编辑回复