1
0
mirror of https://github.com/NevermindZZT/letter-shell.git synced 2025-01-21 10:02:54 +08:00
2020-08-16 15:26:59 +08:00

1.9 KiB
Raw Permalink Blame History

letter shell file system support

version standard build license

letter shell文件系统支持

preview

简介

fs_support作为letter shell的插件用于实现letter shell对常见文件系统操作的支持比如说cdls等命令fs_support依赖于letter shell的伴生对象功能并且使用到了内存分配和内存释放所以请确认已经配置好了letter shell

fs_support并非一个完全实现的letter shell插件由于文件系统的接口和操作系统以及具体使用的文件系统相关所以fs_support仅仅通过接入几个基本的接口以实现cdls命令具体使用时可能需要根据使用的文件系统接口修改fs_supportletter shell的demo/x86-gcc下有针对linux平台的移植可以及进行参考

使用

  1. 声明ShellFs对象并申请当前路径数据缓冲区

    ShellFs shellFs;
    char shellPathBuffer[512] = "/";
    
  2. 实现getcwdchdirlistdir函数

    根据文件系统不同,这些函数会有不同的实现,请根据具体使用的环境进行修改

  3. 初始化ShellFs对象

    shellFs.getcwd = getcwd;
    shellFs.chdir = chdir;
    shellFs.listdir = userShellListDir;
    shellFsInit(&shellFs, shellPathBuffer, 512);
    
  4. 初始化Shell对象

    设置shell当前路径缓冲初始化shell并添加伴生对象

    shellSetPath(&shell, shellPathBuffer);
    shellInit(&shell, shellBuffer, 512);
    shellCompanionAdd(&shell, SHELL_COMPANION_ID_FS, &shellFs);