mynameisxuchun 于 2010-09-10 16:49:29发表:
我新人一个,看看大家QQ:976236692
zzm35837995 于 2010-09-10 14:10:04发表:
1 #! /bin/bash 2 3 sudo asterisk -r << EOF 4 sip reload 5 exit 6 EOF 这个脚本为什么执行起来会不停的打 heizi-desktop*CLI> heizi-desktop*CLI> heizi-desktop*CLI>
zzm35837995 于 2010-09-10 13:39:28发表:
引用:系统里没有expect和send吧。 看看这个命令的输出:type expect alick 发表于 2010-9-10 11:45
alick 于 2010-09-10 11:45:21发表:
系统里没有expect和send吧。 看看这个命令的输出:[code]type expect[/code]
zzm35837995 于 2010-09-10 08:58:26发表:
引用:#! /bin/bash asterisk -r sip reload ybsolar 发表于 2010-9-9 20:14
zzm35837995 于 2010-09-10 08:57:27发表:
引用:sudo asterisk -r 这是一个交互式的命令?是的话考虑使用expect alick 发表于 2010-9-9 19:12
ybsolar 于 2010-09-09 20:14:30发表:
#! /bin/bash asterisk -r sip reload <exit EOF 然后以sudo运行整个脚本!
alick 于 2010-09-09 19:12:52发表:
sudo asterisk -r 这是一个交互式的命令?是的话考虑使用expect
viesdn 于 2010-09-09 14:54:31发表:
帮你顶个
mynameisxuchun 于 2010-09-10 16:49:29发表:
我新人一个,看看大家QQ:976236692
zzm35837995 于 2010-09-10 14:10:04发表:
1 #! /bin/bash
2
3 sudo asterisk -r << EOF
4 sip reload
5 exit
6 EOF
这个脚本为什么执行起来会不停的打 heizi-desktop*CLI> heizi-desktop*CLI> heizi-desktop*CLI>
zzm35837995 于 2010-09-10 13:39:28发表:
我的代码是这样的
#! /usr/bin/expect -f
spawn sudo asterisk -r
expect "heizi-desktop*CLI> "
send "sip reload\r "
set timeout 0
expect eof
大体上是可以实现功能了, 但还有点小问题,在输入 sip reload 之后会停一段时间,且不用exit, 然后就跳出 heizi-desktop*CLI> 回到heizi@heizi-desktop: ,如果不加set timeout 0 会更长时间,估计有十几秒
alick 于 2010-09-10 11:45:21发表:
系统里没有expect和send吧。
看看这个命令的输出:[code]type expect[/code]
zzm35837995 于 2010-09-10 08:58:26发表:
还是不能执行 sip reload啊,
zzm35837995 于 2010-09-10 08:57:27发表:
我也用expect试了下,我是这样写的
#! /usr/bin/expect -f
2
3 spawn sudo asterisk -r
4 set timeout 300
5 expect"*CLI>"
6 send "sip reload\r"
7 set timeout 300
8 send "exit\r"
9 expect eof
10 运行之后 报
./asterisk1: line 3: spawn:找不到命令
./asterisk1: line 5: expect*CLI>:找不到命令
./asterisk1: line 6: send:找不到命令
./asterisk1: line 8: send:找不到命令
couldn't read file "eof": no such file or directory
ybsolar 于 2010-09-09 20:14:30发表:
#! /bin/bashexit
asterisk -r
sip reload <
EOF
然后以sudo运行整个脚本!
alick 于 2010-09-09 19:12:52发表:
sudo asterisk -r
这是一个交互式的命令?是的话考虑使用expect
viesdn 于 2010-09-09 14:54:31发表:
帮你顶个