1 use clap::Parser; 2 3 // 定义一个枚举类型 RootFSCommand,表示根文件系统操作命令 4 #[derive(Debug, Parser, Clone, PartialEq, Eq)] 5 pub enum RootFSCommand { 6 /// 创建根文件系统(磁盘镜像) 7 Create(CreateCommandParam), 8 /// 删除根文件系统(磁盘镜像) 9 Delete, 10 /// 删除系统根目录(sysroot文件夹) 11 DeleteSysroot, 12 /// 挂载根文件系统(磁盘镜像) 13 Mount, 14 /// 卸载根文件系统(磁盘镜像) 15 Umount, 16 /// 输出磁盘镜像的挂载点 17 #[clap(name = "show-mountpoint")] 18 ShowMountPoint, 19 /// 输出磁盘镜像挂载到的loop设备 20 ShowLoopDevice, 21 /// 检查磁盘镜像文件是否存在 22 CheckDiskImageExists, 23 } 24 25 #[derive(Debug, Parser, Clone, PartialEq, Eq)] 26 pub struct CreateCommandParam { 27 /// 当磁盘镜像文件存在时,跳过创建 28 #[clap(long = "skip-if-exists", default_value = "false")] 29 pub skip_if_exists: bool, 30 } 31