2016-08-26 61 views
1

我试图与期望用这种方式做一个bash脚本:期待功能庆典

spawn etc 
expect "something" 
send -- "something " 
etc 

但我想这样做

send -- function() 

这怎么可能?

谢谢

+0

你的意思是你想使用'bash'函数的输出作为'send'命令/指令的参数吗?我不知道'spaw','send'和'etc'命令......它实际上是'expect'脚本而不是'bash'脚本吗? – Jdamian

回答

2

bash和预期是不同的语言,希望能奇迹般地达到到父抓住一些代码。

不过,如果你出口的功能,你可以(最终)使用它:

bash下定义函数

$ function foo { echo bar; } 
$ foo 
bar 

无法导出,尝试使用它

$ expect 
expect1.1> foo 
invalid command name "foo" 
    while executing 
"foo" 
expect1.2> exec bash -c foo 
bash: foo: command not found 
    while executing 
"exec bash -c foo" 
expect1.3> exit 

现在,输出功能

现在

,你可以这样做:

send -- "[exec bash -c your_function]\r" 

但关键是:导出功能,而在父shell。