在批量打开的终端内执行代码

Execute code inside batch opened terminal

我正在为 kdb 进程编写启动脚本(但我认为进程的类型并不重要,可以很容易 python)。我希望脚本 运行 我的 q 文件,然后在终端内执行一行(例如 myfunc[])。 尝试 -c 批处理命令给出“系统找不到指定的文件”。 有什么建议吗?谢谢。 我目前正在尝试的代码:

 cmd /k “q myqfile.q” -c “myfunc[]”

我认为 q 在这里很重要。我认为您不能像那样将命令传递给 kdb/q。将此添加到 myqfile.q 的底部:

myfunc[];
exit 0

您可以从命令行执行此操作,但我不知道这是否是最佳做法:

$ cat script.q
a:1;
func:{show a+x};
$ export QHOME=/opt/q && echo 'func[10]' | $QHOME/l64/q script.q
11
$
cmd /k "copy myqfile.q myqfile_.q & echo myfunc[] >> myqfile_.q & q myqfile_.q & del myqfile_.q"

我创建了一个 myqfile.q 的副本,然后将 myfunc[] 附加到副本,然后 运行 副本,最后删除副本。