sylixos shell
时间: 2023-11-03 19:06:33 浏览: 88
在sylixos中增加自定义的shell命令
SylixOS中环境变量的shell操作功能是通过API函数接口实现的。这些功能主要由两套接口提供:原生的API_TShellVar系列接口和POSIX标准的env接口。env系列接口是通过相应的lib_xxx函数实现的,而这些lib env系列接口实质上又是基于API_TShellVar系列函数实现的。而API接口函数则是基于__tshellVar函数实现的,这些函数位于libsylixos\SylixOS\shell\ttinyVar\ttinyVarLib.c文件中。整个环境变量功能的实现都源自于这些__tshellVar系列函数。
SylixOS中的环境变量管理使用了两个双向链表:一个用于管理的双链表和一个哈希分离链表。哈希分离链表主要是为了提高查找速度。这两个链表初始情况下都是空的,所以在内核启动时环境变量为空。在代码中,统一链表头的变量为_G_plineTSVarHeader,而哈希散列表的变量为_G_plineTSVarHeaderHashTbl。
每个环境变量都是一个对象,核心成员包括变量名和变量值的字符串指针,以及两个链表来进行管理。具体的结构体定义为__TSHELL_VAR,其中SV_lineManage为管理用双链表,SV_lineHash为哈希分离链表。SV_pcVarName为变量名,SV_pcVarValue为变量的值,SV_ulRefCnt为引用计数。
阅读全文