Chinaunix

标题: 一个很简单的expect语句,执行后无效果 [打印本页]

作者: L_kernel    时间: 2011-09-23 09:03
标题: 一个很简单的expect语句,执行后无效果
mount.sh
  1. #!/usr/bin/expect -f
  2. spawn sudo mount /dev/sda2 /mnt
  3. expect "*password*"
  4. send "123456\r"
复制代码
$ ./mount.sh
执行之后发现,那个盘没有挂载上去。密码是没有错误的。
作者: waker    时间: 2011-09-23 09:42
exp_internal 1
观察一下?
应该是 expect "*password*"
还是
exepct Password:
send 以后能不能expect eof
作者: expert1    时间: 2011-09-23 09:59
估计是eof没加吧?
作者: waker    时间: 2011-09-23 10:38
估计是eof没加吧?
expert1 发表于 2011-09-23 09:59



多半加了也没用,他的小写p基本没了可能匹配到
作者: huolefo    时间: 2011-09-23 10:51
跟帖学习中。。。

没有shell 能把人累死,得好好学习一下了
作者: gooutya1    时间: 2011-09-23 11:20
写成expect "*word: "
作者: L_kernel    时间: 2011-09-23 11:31
expect eof没有加,确实是。话说这个是必要的?第一次使用expect这个工具。
作者: zooyo    时间: 2011-09-23 12:14
提示: 作者被禁止或删除 内容自动屏蔽
作者: waker    时间: 2011-09-23 12:32
expect eof没有加,确实是。话说这个是必要的?第一次使用expect这个工具。
L_kernel 发表于 2011-09-23 11:31


如何一个正在执行的命令被关闭了控制终端,你能保证它继续正常执行么?
作者: L_kernel    时间: 2011-09-23 12:33
我这里有一个spawn命令。
  1. spawn sudo sed -i 's/\(none\|static\)/dhcp/' $conf_file
复制代码
执行的时候出现下面的错误,这种问题如何解决?
  1. spawn sudo sed -i 's/(none|static)/dhcp/' /etc/sysconfig/network-scripts/ifcfg-eth0
  2. sed: -e expression #1, char 1: unknown command: `''
  3. send: spawn id exp4 not open
  4.     while executing
  5. "send "123456\r""
复制代码

作者: L_kernel    时间: 2011-09-23 12:39
如何一个正在执行的命令被关闭了控制终端,你能保证它继续正常执行么?
waker 发表于 2011-09-23 12:32



    当然无法保证,要看那个命令与控制终端在进程上是什么关系。是怎么fork出来的。
作者: waker    时间: 2011-09-23 12:45
当然无法保证,要看那个命令与控制终端在进程上是什么关系。是怎么fork出来的。
L_kernel 发表于 2011-09-23 12:39



那个命令在这里就是sudo




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2