我希望能够从命令行/bash 脚本将参数传递给 Gretl 脚本。
或者,如果我从 bash 脚本打开 Gretl,有没有办法将命令从 bash 脚本输出到终端窗口中的 gretl 控制台?
您可以通过 (bash) 环境变量传递参数。从 gretl 内部,可以通过 getenv() 命令恢复它们。
通过环境变量完全可以;我在运行大型作业时一直使用此技巧。
假设您在文件f.inp
中有一个如下所示的脚本
string foo = getenv("A")
scalar bar = ngetenv("N")
printf "%g kilograms of %sn", bar, foo
在 bash 中,您可以简单地A="bread" N=3 gretlcli -b -q f.inp
并得到
? string foo = getenv("A")
Generated string foo
? scalar bar = ngetenv("N")
Generated scalar bar = 3
3 kilograms of bread
事实证明这是不可能的。最终必须打印到文本文件并从中读取才能传递多个参数。
我的建议是永远不要使用 Gretls 命令行函数。它有一个相当不错的GUI可以搞砸,但是如果您想将这样的库用作应用程序的一部分,请使用R。