• 大小: 2KB
    文件类型: .c
    金币: 1
    下载: 0 次
    发布日期: 2021-06-12
  • 语言: 其他
  • 标签:

资源简介

在linux中实现一个简单的命令解释程序,功能要求: 1)同时支持内部命令和外部命令,内部命令支持两个(cd、exit) 2)支持后台命令

资源截图

代码片段和文件信息

#include
#include
#include
#include
#include
#include

#define MAX_CMD_LEN 256


void printCwd(){
long size;
char *buf;
char *cwd;
size=pathconf(“.“_PC_PATH_MAX);
if((buf=(char *)malloc((size_t)size))!=NULL)
cwd=getcwd(buf(size_t)size);
printf(“%s$“cwd);
}

void getcmd(char* cmd){
    while((cmd[0]=getchar())==‘ ‘);
    int i=0;
do{
i++;
cmd[i]=getchar();
}while(cmd[i]!=‘\n‘&&i<=MAX_CMD_LEN);
if(i>MAX_CMD_LEN){
  perror(“命令行的长度超限“);
  printCwd();
}
cmd[i]=‘\0‘;
}

int main(){

    char cmd[MAX_CMD_LEN+1];
    printf(“enter sehll....\n“);
     while(1){
            printCwd();
            memset(cmd0sizeof(cmd));
            getcmd(cmd);
            if(strncmp(cmd“exit“4)==0){
                printf(“shell exit .....\n“);
                break;
            }if(strncmp(cmd“cd“2)==0){
                // printf(“ do cd \n“);
  

评论

共有 条评论