对于Expect来说,我是一个新手,而且我认为只要先在我的本地机器上尝试预期,我就会弄湿我的脚。
为此,我想我会尝试对抗" adduser"命令。
我无法让它正常工作,似乎一切正常,我能够到达最后一个提示,它确实退出,但用户仍未创建。
我做错了什么?
Array((banana,Array((John,1))), (guava,Array((Tom,1), (John,1))), (orange,Array((Tom,1))), (apple,Array((Steve,1), (John,2))), (mango,Array((Tom,2), (Steve,1), (John,1))))
答案 0 :(得分:1)
将以下内容另存为'automateUser'... chmod 775 ...,然后在命令行中保存。
sudo期望-d automateUser
#!/usr/bin/expect
spawn adduser testuser
expect "Enter new UNIX password" { send "testpass\r" }
expect "Retype new UNIX password" { send "testpass\r" }
expect "Full Name" { send "\r" }
expect "Room Number" { send "\r" }
expect "Work Phone" { send "\r" }
expect "Home Phone" { send "\r" }
expect "Other" { send "\r" }
expect "correct?" { send "y\r" }
interact
如果在/ etc / passwd之后键入的内容较少,则应该在列表中看到测试用户。
针对Ubuntu 16.04(预期版本为5.45)进行了测试。
答案 1 :(得分:0)
看起来所有这些都是错误的:wc -l
我会使用expect " Something []: "