分页: 1 / 2
启动时脚本错误:expect not found
发表于 : 2012-01-17 13:13
由 3dworld
请大家帮忙看看,问题出在哪里?
我写了一个脚本ee.sh,目的:在启动的时候执行一段程序。
当我手动执行这个ee.sh时,可以正常的运行,自动回复config.sh的选项,并执行autorun.sh,得到结果。
但是当我通过update-rc.d ee.sh start 20 2 3 4 5 . 把ee.sh脚本连接添加到/etc/rc2.d等目录下后,重启系统。能够执行ee.sh,但是提示expect not found,然后跳过,直接执行auutorun.sh脚本
系统信息:
Ubuntu 10.04 64bit
系统上已经安装tcl和expect
也试过:把ee.sh脚本的内容写到/etc/rc.local内,提示同样的错误。
先说声谢谢了!
ee.sh脚本内容:
===========================
#!/bin/sh
expect<<-end
spawn ./config.sh
send "1\n"
send "Y\n
send "2\n"
expect eof
end
./autorun.sh
===========================
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:15
由 eexpress
安装 expect
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:18
由 灰色小狼
ee.sh

Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:21
由 3dworld
怎么引用ee.sh,
我也是刚接触expect命令,能否讲的详细点
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:21
由 aerofox
你的 expect 不是用软件包管理程序安装的吧?
在脚本开头设置一下 PATH,或者使用 expect 程序的完整路径试一试。
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:31
由 3dworld
aerofox 写了:你的 expect 不是用软件包管理程序安装的吧?
在脚本开头设置一下 PATH,或者使用 expect 程序的完整路径试一试。
----------------------
谢谢!
刚刚试的完整路径,同样的提示。
我试一下设置PATH
是这样吗?
set PATH=/usr/local/bin/expect
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:34
由 3dworld
补充回复5楼
我不是通过软件包安装的,是通过make命令等安装的
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:38
由 枫叶饭团
开头应该是#!/usr/bin/expect 而不是#!/bin/bash
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 13:39
由 月下叹逍遥
灰色小狼 写了:ee.sh


Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 14:13
由 3dworld
枫叶饭团 写了:开头应该是#!/usr/bin/expect 而不是#!/bin/bash
我把第一行改成#!/usr/local/bin/expect
会提示另外的错误
我在脚本设置了一个路径变量
set DST=/root/dd
错误信息:can't read "DST=/root/dd": no such variable
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 14:15
由 3dworld
3dworld 写了:枫叶饭团 写了:开头应该是#!/usr/bin/expect 而不是#!/bin/bash
我把第一行改成#!/usr/local/bin/expect
会提示另外的错误
我在脚本设置了一个路径变量
set DST=/root/dd
错误信息:can't read "DST=/root/dd": no such variable
==========================
而且第一行改成/usr/local/bin/expect后,定义的函数也不能用了,
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 14:28
由 枫叶饭团
PATH=$PATH:/usr/bin/
如果不行,我就觉得expect是不是不能这样子用
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 14:41
由 JiangHui
第一行是#!/bin/sh应该没错,heredoc语法,让expect执行end之前的语句
说找不到很明显就是路径不在$PATH下,你把路径写全了就不用到$PATH下找
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-17 23:30
由 tusooa
建议把<< eof 的eof加引号。防止变量扩展。
Re: 启动时脚本错误:expect not found
发表于 : 2012-01-18 8:36
由 aerofox
3dworld 写了:aerofox 写了:你的 expect 不是用软件包管理程序安装的吧?
在脚本开头设置一下 PATH,或者使用 expect 程序的完整路径试一试。
----------------------
谢谢!
刚刚试的完整路径,同样的提示。
我试一下设置PATH
是这样吗?
set PATH=/usr/local/bin/expect
最好是把错误信心原封不动的贴出来,如果你使用了完整路径,错误信息不可能完全一样的,至少会有一丁点差别,比如原来是
expect not found
现在可能变成
/usr/local/bin/expect not found
开头一行没有错,出来 expect not found 这种错误只能是 PATH 的问题。
另外,确认一下,手动执行时,是不是直接
这种方式执行的?(. 后没有空格)。