当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 12 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 如何自动完成选择?
帖子发表于 : 2008-07-28 16:48 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
请问如何能在终端下输入命令后,自动完成选项,
就是说如果输入的命令会提示选择1),2),3) ,我该怎么能在输入命令时就确定选项2)呢?


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2008-07-28 17:27 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
这个问题顶一下


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2008-07-28 17:29 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
也许你需要expect


_________________
关注我的blog: ε==3


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2008-07-28 18:33 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
刚装上expect,不过脚本好像不怎么好写啊,
研究一下了得。


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2008-07-28 20:09 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
请问要是需要root权限的命令该怎么办呢,还没等输入密码呢就跳过去了,


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2008-07-29 9:21 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
密码也可以用expect来send的


_________________
关注我的blog: ε==3


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-07-29 9:28 
头像

注册: 2005-08-14 21:55
帖子: 58428
地址: 长沙
送出感谢: 4
接收感谢: 272
估计你们把问题搞复杂了。

说不定命令带好了参数的。

代码:
☎  cat expect-演示脚本
#!/opt/sfw/bin/expect
set timeout 10
spawn su -
expect "Password:*"
send "密码r"
expect "bash-2.03#*"
send "df -kr"
expect "bash-2.03#*"
send "exitr"
close
wait bash-2.03$
chmod 755 runexpect
bash-2.03$ runexpect
spawn su - Password: bash-2.03#
df -k Filesystem kbytes used avail capacity Mounted on /dev/dsk/c0d0s0 4639574 2897740 1695439 64% / /proc 0 0 0 0% /proc fd 0 0 0 0% /dev/fd mnttab 0 0 0 0% /etc/mnttab swap 580368 8 580360 1% /var/run swap 580676 316 580360 1% /tmp bash-2.03#
exit bash-2.03$

==========================================
#!/usr/local/bin/expect
set f [open ur_ip_passwd_file r]
set timeout 150
while {[gets $f line] >= 0} {
spawn ssh [lindex $line 0]
expect "user: "
sleep .1
send "root\r"
expect "assword: "
send "[lindex $line 0]\r"
expect -re {[$#] }
send "shutdown\r"
expect eof
close
}
close $f
==========================================


_________________
● 鸣学


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-07-29 10:10 

注册: 2008-07-29 10:07
帖子: 4
送出感谢: 0 次
接收感谢: 0 次
:oops: 看下


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-07-29 19:17 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
请问:send "[lindex $line 0]\r"
这条语句是什么意思啊,怎么能把密码发送上去呢,
另外这个要是运行在别的机器上,不会知道密码就没办法运行了吧?


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-07-29 19:33 

注册: 2008-07-14 13:38
帖子: 18
送出感谢: 0 次
接收感谢: 0 次
搞不懂...


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-07-29 20:03 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
是啊,研究了半天了,那些例子都是自动填充密码的,好像是把密码当成参数运行,
那要是运行在别的机器上就不能自动填充了啊?


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-07-30 8:56 

注册: 2008-07-28 16:43
帖子: 10
送出感谢: 0 次
接收感谢: 0 次
:(


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

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:MSNbot Media 和 5 位游客


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

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

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