当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 5 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 我这哪里错了?没错啊就是不过啊
帖子发表于 : 2011-02-23 21:00 

注册: 2009-05-22 20:31
帖子: 31
送出感谢: 0 次
接收感谢: 0 次
写了个脚本:

代码:
#!/usr/bin/expect
spawn sudo nautilus
expect "[sudo] password for patrick:"
send "123"


老是提示 :
代码:
patrick@patrick-System-Product-Name:~$ ./login.sh
spawn sudo nautilus
invalid command name "sudo"
    while executing
"sudo"
    invoked from within
"expect "[sudo] password for patrick:""
    (file "./login.sh" line 3)


我确认我sudo没拼错啊。。。。。。。。。。。


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 我这哪里错了?没错啊就是不过啊
帖子发表于 : 2011-02-24 18:39 

注册: 2011-01-01 8:14
帖子: 66
送出感谢: 0 次
接收感谢: 0 次
expect { ... }
花括号

看看 Manual 吧。


_________________
Blog <http://ffb-all.com/>
Linux User #529415 with Linux Counter <http://counter.li.org/>
PGP keyID F73D6274 hkp://keyserver.ubuntu.com


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 我这哪里错了?没错啊就是不过啊
帖子发表于 : 2011-02-25 11:03 

注册: 2007-10-22 22:40
帖子: 125
送出感谢: 0 次
接收感谢: 0 次
#!/usr/bin/expect
spawn sudo nautilus
expect "[sudo] password for patrick:"
send "123"


你这个脚本没有写完吧。
spawn开启一个sudo进程执行nautilus,expect等待该进程的返回,也就是要求你输入root密码,然后你的123是root密码吗,另外使用send传递参数给进程时,最好加上\r。

我用的不是ubuntu,无法帮你测试下。不过你可以试试看


#! /usr/bin/expect -f

spawn sudo nautilus

expect "[sudo] password for patrick:" ;# 这里应该是提示你输入root的密码吧

send "123\r" ;# 这里就是root的密码,另外加上[Enter]

interact ;# 这里是将脚本流程切换到用户

# epect eof 或者使用这个,来期待本次脚本执行完成,没有其他的操作了


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 我这哪里错了?没错啊就是不过啊
帖子发表于 : 2011-02-27 11:02 

注册: 2008-05-24 8:30
帖子: 1453
送出感谢: 2
接收感谢: 30
用 expect 来给 sudo 输密码,那是给自己找麻烦,直接在 /etc/sudoers 里配置不用密码就是了。


页首
 用户资料  
 
5 楼 
 文章标题 : Re: 我这哪里错了?没错啊就是不过啊
帖子发表于 : 2011-05-13 12:02 

注册: 2010-04-29 22:00
帖子: 61
系统: Gentoo Linux ~amd64
送出感谢: 0 次
接收感谢: 6
expect "[sudo] password for patrick:"

这行的问题,tcl 会尝试执行 sudo 这个命令的。前面加个 \ 转义

expect "\[sudo] password for patrick:"


_________________
網站
配置


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 5 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译