我正在用 klish 编写一个 xml 文件。我想知道我们如何通过按 klish xml 文件中的选项卡按钮来自动完成参数。例如,我希望用户在 klish 命令行上输入启用或禁用,但如果用户按下“e”和选项卡,那么应该完成自动启用,或者如果用户按下“d”和选项卡,那么应该自动禁用。我正在由用户在 klish 命令行上接收这些参数。
我们也可以在 klish xml 文件中定义宏,以便我可以在 klish ACTION 标记中使用该宏将该宏值作为参数传递给我的 c 文件
我的 XML 代码是这样的:-
<?xml version="1.0" encoding="UTF-8"?>
<CLISH_MODULE xmlns="http://clish.sourceforge.net/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://clish.sourceforge.net/XMLSchema
http://clish.sourceforge.net/XMLSchema/clish.xsd">
<!--=======================================================-->
<COMMAND name="show"
help="some utility commands for show"/>
<COMMAND name="show connection"
help="Show the connection">
<DETAIL>
connection status
</DETAIL>
<ACTION>c_file.c 1</ACTION>
</COMMAND>
<COMMAND name="show debugcount"
help="It will show enable core">
<DETAIL>
Enable core.
</DETAIL>
<PARAM name="module-name"
help="Specify the module name i.e. enable or disable"
ptype="STRING"/>
<ACTION>c_file.c 3 ${module-name}</ACTION>
</COMMAND>
正如我提到的,我想要自动完成一个语句,所以参数即
${modulename}
将启用或禁用,所以我希望如果用户按 e 和 tab 然后自动启用应该来,或者如果用户按 d 和 tab 然后自动禁用应该来。
关于宏,正如您在标签中看到的那样,我正在传递值,即
<ACTION>c_file.c 1</ACTION>
到我的 c 文件,但我想使用一些变量名或宏而不是值,所以它就像
<ACTION>c_file ${var} ${modulename}</ACTION>
其中 $var=1