裁剪 Shell
本文介绍如何裁剪 Shell 命令。
裁剪 Shell 功能
SylixOS 的 Shell 支持可裁剪。 如果不需要 Shell 功能,只需将宏 LW_CFG_SHELL_EN
配置为 0
即可,配置方法:
- 打开 Base 工程下的
/libsylixos/SylixOS/config/shell/shell_cfg.h
文件,将LW_CFG_SHELL_EN
的值置为0
。 - 重新编译 Base 和 Bsp 工程。
- 重新启动虚拟机。
裁剪单个 Shell 命令
SylixOS 的 Shell 命令支持可裁剪。如果需要裁剪某个命令,只需要将具体命令的宏配置为 0
,就可以裁剪此命令。 以 uadd
命令为例,查看 uadd
命令介绍。
配置:
- 当
LW_CFG_SHELL_EN>0
时,会允许操作系统提供 ttinyShell 命令。 - 当
(LW_CFG_SHELL_USER_EN > 0)
,使能了 Shell 用户管理工具,此命令将会被包含。使用help
查看是否有uadd
命令。
[root@sylixos:/root]# help uadd
add a new user for this machine.
eg. uadd newuser passwd 1 10 20 a_new_user /home/newuser
uadd name password enable[0 / 1] uid gid comment homedir
[root@sylixos:/root]# help udel
delete a user in this machine.
udel name
[root@sylixos:/root]# uadd
argument error.
eg. uadd 'name' 'password' enable[0 / 1] uid gid comment homedir
[root@sylixos:/root]# udel
argument error.
eg. udel 'name'
[root@sylixos:/root]#
查看可知 uadd
命令的帮助文件和此命令都被裁剪了。
注意:
配置 Shell 命令应配置最小项宏,减小配置的范围。上例中配置了uadd
命令,但相关的命令,例udel
、umod
、gadd
、gdel
等相关的命令也被裁剪了。