首页 / 操作系统 / Linux / linux的vivi命令学习札记
linux的vivi命令:vivi每一个命令都是一个结构体变量:typedef struct user_command {const char *name;void (*cmdfunc)(int argc, const char **);struct user_command *next_cmd;const char *helpstr;} user_command_t例如:boot命令user_command_t boot_cmd = {"boot",command_boot,NULL,"boot [{cmds}] -- Booting linux kernel"}vivi的main函数通过调用misc()及init_buildin_cmds()将许多命令结构体形成一个链表,以全局变量head_cmd为头节点。执行命令时,首先通过函数parseargs()解析输入的命令,然后调用execcmd()查找相应的函数void (*cmdfunc)(int argc, const char **)调用。