Jar 打印转换并打印“$?”为 0

Jar 打印转换并打印“$?”为 0

我有一个 clipscode,我想将其插入到我的数据库中,为此我编写了一个 Java 程序,它在 eclipse IDE 中运行良好,如果我的 clips 代码包含“$?”,它会保留在 eclipse IDE 中。查看 eclipse IDE 的输出

(defrule through_the_use_of_1364;through the use of

(Head-Level-Mother-Daughters ?h1 ?l1 ?m1 $? ?m $?)

=>

(printout debug_rule "(through_the_use_of_1364)" crlf))

问题出现于当我制作该程序的 jar 并在终端上运行时,“$?”被转换为 0。
请参见下面给出终端的输出。

(defrule through_the_use_of_1364;through the use of

(Head-Level-Mother-Daughters ?h1 ?l1 ?m1 0 ?m 0)

=>

(printout debug_rule "(through_the_use_of_1364)" crlf))

请帮我....

答案1

shell 正在解释$?为前一个命令的退出状态。

为了防止 shell 解释:

使用引号括起来$?

(Head-Level-Mother-Daughters ?h1 ?l1 ?m1 "$?" ?m "$?")

或者

(Head-Level-Mother-Daughters ?h1 ?l1 ?m1 '$?' ?m '$?')

或者$使用以下命令退出\

(Head-Level-Mother-Daughters ?h1 ?l1 ?m1 \$? ?m \$?)

相关内容