【发布时间】:2018-03-14 02:29:09
【问题描述】:
这是我的 kbd 脚本。
它确实依赖于丰富的环境文件。我的脚本无法连接到 KDB 数据库,因为它太忙而无法接受连接。
我想在运行脚本之前测试与 kdb 的连接。我只想知道 kdb 是否正在接受连接并使其等于 bash 退出值。 0 或 1
这是我的 KDB 脚本:
system "l ",(getenv`CASPER),"/CASPER/q/CASPER_lib.q";
system "l ",(getenv`CASPER),"/CASPER/q/report_lib.q";
system "l ",(getenv`CASPER),"/reporting/q/reporting_utils.q";
\c 50 2000
\P 0
\p 0W
port:system"p"
3 (string port),"\n"
hclose 3
params:.Q.def [(`tradedate`CASPERhost)!(.z.d;`)] .Q.opt .z.x;
tradedate:params`tradedate;
CASPERhost:string params`CASPERhost;
h:.U.connect[`kdb;CASPERhost;"";()];
h1:.U.connect[`kdb;getenv`QUERY_GATEWAY;"";()];
hclose h;
hclose h1;
我要做的就是测试与 kdb 的连接 - 从 bash 脚本。打开关闭,就是看看能不能连接数据库 但是,当我运行 bash 时,它会进入 q 提示符。我必须用 \ (两个斜杠)手动关闭。我如何测试 kdb 数据库是否接受来自 bash 脚本的连接。
这是我的 bash 脚本
#!/bin/bash
q kdb_filehandle.q
【问题讨论】: