mirror of
https://github.com/NevermindZZT/letter-shell.git
synced 2025-01-21 10:02:54 +08:00
1.9 KiB
1.9 KiB
letter shell file system support
letter shell文件系统支持
简介
fs_support作为letter shell的插件,用于实现letter shell对常见文件系统操作的支持,比如说cd,ls等命令,fs_support依赖于letter shell的伴生对象功能,并且使用到了内存分配和内存释放,所以请确认已经配置好了letter shell
fs_support并非一个完全实现的letter shell插件,由于文件系统的接口和操作系统以及具体使用的文件系统相关,所以fs_support仅仅通过接入几个基本的接口以实现cd
,ls
命令,具体使用时,可能需要根据使用的文件系统接口修改fs_support,letter shell的demo/x86-gcc下有针对linux平台的移植,可以及进行参考
使用
-
声明
ShellFs
对象并申请当前路径数据缓冲区ShellFs shellFs; char shellPathBuffer[512] = "/";
-
实现
getcwd
,chdir
,listdir
函数根据文件系统不同,这些函数会有不同的实现,请根据具体使用的环境进行修改
-
初始化
ShellFs
对象shellFs.getcwd = getcwd; shellFs.chdir = chdir; shellFs.listdir = userShellListDir; shellFsInit(&shellFs, shellPathBuffer, 512);
-
初始化
Shell
对象设置shell当前路径缓冲,初始化shell,并添加伴生对象
shellSetPath(&shell, shellPathBuffer); shellInit(&shell, shellBuffer, 512); shellCompanionAdd(&shell, SHELL_COMPANION_ID_FS, &shellFs);