openwrt cli命令配置简单示例

1、新建自己的cli配置文件
文件位置
sdk/fg360-open-sdk/openwrt/package/utils/klish/files/xml/gk_firewall.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">
	<!--=======================================================-->

<VIEW name="gk_firewall-view"
	prompt="${SYSTEM_NAME}(gk_firewall)# ">

<!-- commands set: -->
	<COMMAND name="gk_firewall"
		help="config parameters for gk_firewall"
		lock="false"
		interrupt="true">
		<ACTION>
			ser_name=`uci get ntpclient.@ntpserver[0].hostname`
			read -p "please enter ntp server hostname($ser_name):" ser_name
			cli_port=`uci get ntpclient.@ntpserver[0].port`
			read -p "please enter ntp client port($cli_port):" cli_port
			upd_int=`uci get ntpclient.@ntpclient[0].interval`
			read -p "please enter ntp client update interval($upd_int):" upd_int
			if [ -n "$ser_name" ]; then
				uci set ntpclient.@ntpserver[0].hostname="$ser_name"
			fi
			if [ -n "$cli_port" ]; then
				uci set ntpclient.@ntpserver[0].port="$cli_port"
			fi
			if [ -n "$upd_int" ]; then
				uci set ntpclient.@ntpclient[0].interval="$upd_int"
			fi
			uci commit ntpclient
			echo "Change gk_firewall config successfully!"
		</ACTION>
	</COMMAND>


</VIEW>

</CLISH_MODULE>

2、添加将自己的配置文件生效
sdk/fg360-open-sdk/openwrt/package/utils/klish/files/enable-mode.xml
添加

<!-- Copy commands -->

       ...
        </COMMAND>
        <NAMESPACE ref="/gk_firewall-view"
                help="true"
                completion="true"/>

3、测试
编译烧写后,
命令行输入clish
然后输入要配置的功能
然后一个一个的输入配置

exit退出

猜你喜欢

转载自blog.csdn.net/u010835747/article/details/121693061