Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从bash调用lua函数_Bash_Lua_Pipe - Fatal编程技术网

从bash调用lua函数

从bash调用lua函数,bash,lua,pipe,Bash,Lua,Pipe,我有一个lua脚本,名为“program.lua”。 我以“lua/path/to/program.lua”启动此脚本,并获得脚本提供的特定CLI: bash$/usr/bin/lua/path/to/program.lua 用法: 救命啊 退出-退出 获取数据吗 脚本>_ 在这个脚本中,我有函数“do_get”,如果我从program.lua的CLI调用这个函数,我就得到了正确的输出: bash$/usr/bin/lua/path/to/program.lua 用法: 救命啊 退出-退出 获

我有一个lua脚本,名为“program.lua”。 我以“lua/path/to/program.lua”启动此脚本,并获得脚本提供的特定CLI:

bash$/usr/bin/lua/path/to/program.lua
用法:
救命啊
退出-退出
获取数据吗
脚本>_
在这个脚本中,我有函数“do_get”,如果我从program.lua的CLI调用这个函数,我就得到了正确的输出:

bash$/usr/bin/lua/path/to/program.lua
用法:
救命啊
退出-退出
获取数据吗
脚本>你得到什么
string1
string2
参数1
参数2
脚本>_
这个问题。如何从bash调用函数“do_get”,并在不输入脚本CLI的情况下获得所需的输出

不允许进行脚本编辑


谢谢

您可以通过在shell脚本中调用Lua程序来捕获输出,并:


如果这不起作用,请尝试一个可以处理交互提示的工具,如yes()
yes do|get |/usr/bin/lua/path/to/program.lua
expect
()

否。我已经编辑了问题,并提供了无法直接从bash@AndriiK. 好的,我已经更新了我的answer@AndriiK. 你试过运行这个例子吗?@AndriiK。我已经更新了答案,你需要处理交互提示。尝试使用管道或类似于
yes
expect
的工具,
expect
将起作用。这实际上不是Lua问题,因为您没有更改Lua脚本。而且,您调用的不是Lua意义上的函数。
lua_output=$(printf "do_get\n\n" | /usr/bin/lua /path/to/program.lua 2>&1)
 
echo $lua_output