shell.c

来自「ms-linux 基于Linux0.01版,可以在ADS上编译,是嵌入式操作系统」· C语言 代码 · 共 61 行

C
61
字号
#include "iofn.h"
#include "cmd.h"
#include "cmddef.h"

char arg_buf[128];
int argc;
char *argv[32];

static char outbuf[128];

void build_arg(int arg_len)
{
   int i,state;
   	
   state=0;
   argc=0;
   /* build argc and argv format */
   for(i=0;i<arg_len;i++)
   {
     if(state==0)
     {
       if((arg_buf[i]!=' ')&&(arg_buf[i]!='\n')&&(arg_buf[i]!='\r'))
       {
          if(argc<32) /* avoid overflow */
          { 
            argv[argc]=arg_buf+i;    
            argc++;
          }           
          state=1;
       }
     }
     else 
     {
       if((arg_buf[i]==' ')||(arg_buf[i]=='\n')||(arg_buf[i]=='\r'))
       {
          arg_buf[i]='\0';
          state=0;
       }
     }
   }/* for */
}


void CliMain()
{    
    int len;

    semaphore_init(1,1,0);
    semaphore_init(2,1,0);	
	
    cmd_root_set(root);
    for(;;)
    {  
       output("#");
       len=input(arg_buf);
       build_arg(len); 
       cmd_process(argc,argv);
    } 
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?