亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? shell.c

?? 我編寫的linex 下的一個子shell
?? C
字號:
/* Practise 2    shell */
/* lichangshun */
#include<stdio.h>
#include<stdlib.h>
#include<error.h>
#include<sys/wait.h>

#define MAXLINE 200
#define MAXARG 20
#define false  0
#define true 1
#define bool int

extern char **environ;
int T_and=0;   // whether have & 
int T_lt=0;    // <
int T_rt=0;    // >
//char * inname;
//char *outname; //use for redirect

bool getargs(int *argcp,char *argv[],int max,bool *eofp){
  static char cmd[MAXLINE];
  char *cmdp;
  int i=0;
  int len=0;

  *eofp=false;
  
  if(fgets(cmd,sizeof(cmd),stdin)==NULL){
    *eofp=true;
    return false; 
  } 
  if(strchr(cmd,'\n')==NULL){
    /*eat up rest of line */
    while(1){
      switch(getchar()){
        case '\n': break;
        default: continue;
      }//switch
     break;
    }//while
    printf("Line is too  long!\n");
    return false;
  }//if
  /*find whether have & or | or < or >*/
   len=strlen(cmd);
   //printf("len=%d shiyan:%s",len,cmd);

   if(cmd[len-2]=='&'){
      T_and=1;
      cmd[len-2]='\0'; 
   }
   //printf("haha%s",cmd);

/*
   for(i=0;i<len;i++){
     if(cmd[i]=='<'){
       T_lt=1; 
     }
     if(cmd[i]=='>'){
       T_rt=1;
       ///////////////////
  //     cmd[i]='\0';
     }

   }

*/

/////////////////////
  cmdp=cmd;
  for(i=0;i<max;i++){
    if((argv[i]=(char *)strtok(cmdp," \t\n"))==NULL)
      break;
    cmdp=NULL;    /*tell strtok to keep going*/
  }
  if(i>=max){
    printf("Too many args -- commands ignored!");
    return false;
  }
  *argcp=i;
  return true;
/*  */
}//getargs

void set(int argc,char *argv[]){
  int i=0;
  
  if(argc!=1) 
    printf("Extra args!\n");
  else 
    for(i=0;environ[i]!=NULL;i++)
      printf("%s\n",environ[i]);
}

int main(void){
  void execute(int ,char *[]);
  char *argv[MAXARG];
  int argc=0;
  int eof=0;
  int len=0;
  int i=0;
  int counter=0;
  char paths[80];
  char *temp;
  while(1){
  eof=0;
  //get environment and print and you should change it if nessary!!!
  getcwd(paths,80);   
  //  paths[strlen(paths)]='\0';
  argv[0]="";
  printf("[%s]#",paths);
  //
   if(getargs(&argc,argv,MAXARG,&eof)&&argc>0){
   //  
     if(strcmp(argv[0],"exit")==0){
        //eof=1; // 
        exit(0);
       
      }
     else if(strcmp(argv[0],"lichangshun")==0){
       printf("lichangshun is my owner!\n");
     }
     else if(!strcmp(argv[0],"cd")){ //command_cd  
        if(argv[1]!=NULL)// if cd char*
        {//if(!access(,0)){}
         // strcpy(temp,argv[1]);
          getcwd(paths,80);
          strcat(paths,"/");
          strcat(paths,temp);
         // printf("@@%s_",argv[1]);         
          if(!access(paths,0)){
            chdir(paths);
            //printf("1%s",paths);
          } 
          else if(!access(argv[1],0)){
          //  printf("%s_",argv[1]);
            chdir(argv[1]);
            getcwd(paths,80);
          //  printf("d%s",paths);
          }
          else printf("bash: cannot find the file or directory!\n");
          
        }
        else if(argv[1]==NULL){
         //return to higher dir
         getcwd( paths,80);
         len=strlen(paths);
         for(counter=0;counter<len;counter++){
           if(paths[len-counter]=='/') {
              paths[len-counter]='\0';  
              break;
            }
         }
        // printf("%s\n",paths);
         chdir(paths);
        } 

     }
     else if(strcmp(argv[0],"set")==0)
       set(argc,argv);
     else{
        //  printf("_%d_%s_%s_%s_%s_%s__",argc,argv[0],argv[1],argv[2],argv[3],argv[4]);
        execute(argc,argv);
      //  printf("__ok__\n"); 
     }
   }//if
    
   if(eof)  exit(EXIT_SUCCESS);
  }//while(1)   
}//main

 void execute(int argc,char *argv[]){
  int pid;
  int status;
  int i,j;
   
 // printf("*%d*%s*%s**\n",argc,argv[0],argv[1]);
  pid=fork();
  //printf("..%d..\n",pid);           
  switch (pid){
    //printf("...%d..%s",pid,argv[0]);
   case -1: 
     // 
     printf("wrong 1 !~\n");
   case 0:
      j=execvp(argv[0],argv);
      if(j==-1){
         printf("Wrong command!\n");
         exit(1);  //if wrong exit(1)  
      }
     printf("..ttttt..\n");
    // break;  
   default:
     //
     if(T_and==0){
       i=waitpid(pid,&status,0);
     }
     else if(T_and==1){
       return;
     } 

    // display_status(pid,status);     
    // break;
     
  } 
  return;

}









?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区四区在线视频| 欧美曰成人黄网| 久久国内精品自在自线400部| 一区二区三区.www| 亚洲综合一区二区三区| 亚洲午夜久久久| 日韩中文字幕一区二区三区| 亚洲国产乱码最新视频| 日韩激情视频网站| 黄页视频在线91| 成人免费毛片app| 色噜噜夜夜夜综合网| 欧美性大战xxxxx久久久| 欧美日韩亚洲国产综合| 欧美精品色综合| 精品奇米国产一区二区三区| 久久久久9999亚洲精品| ㊣最新国产の精品bt伙计久久| 亚洲少妇30p| 天堂成人免费av电影一区| 免费观看久久久4p| 成人黄色软件下载| 欧美久久久久久久久| 精品国产伦一区二区三区免费| 精品粉嫩aⅴ一区二区三区四区| 国产日韩精品一区二区浪潮av | 91.麻豆视频| 精品成人一区二区三区| 国产精品嫩草影院com| 亚洲精品伦理在线| 麻豆国产欧美日韩综合精品二区| 国产乱人伦偷精品视频不卡| 91免费看视频| 精品国产网站在线观看| 亚洲精品精品亚洲| 狠狠久久亚洲欧美| 欧美日韩精品二区第二页| 国产日韩欧美激情| 日韩高清不卡一区二区三区| 成人ar影院免费观看视频| 制服丝袜亚洲色图| 最新成人av在线| 国产在线精品一区二区三区不卡| 91黄色小视频| 国产色综合久久| 美女一区二区三区| 欧美日韩黄色一区二区| 国产精品乱人伦中文| 麻豆国产精品官网| 欧美老肥妇做.爰bbww视频| 欧美成人精精品一区二区频| 日韩美女视频19| 激情深爱一区二区| 日韩午夜三级在线| 亚洲成av人片在www色猫咪| 成人一级视频在线观看| 精品国产免费一区二区三区香蕉 | 精品视频999| 亚洲人成伊人成综合网小说| 国产精品自拍三区| 91精品国产综合久久久蜜臀粉嫩| 亚洲女女做受ⅹxx高潮| 成人黄色网址在线观看| 国产欧美精品国产国产专区 | www.亚洲免费av| 久久精品男人的天堂| 奇米色777欧美一区二区| 欧美区一区二区三区| 一区二区理论电影在线观看| 91在线小视频| 亚洲欧美日韩久久精品| 91日韩一区二区三区| 亚洲欧美日韩一区二区 | 欧美亚洲动漫另类| 一级日本不卡的影视| 91久久精品一区二区三区| 中文字幕一区二区三中文字幕| 国产成人午夜精品影院观看视频 | av日韩在线网站| 国产精品久久久久aaaa樱花| 粉嫩欧美一区二区三区高清影视| 久久精品一区蜜桃臀影院| 国产99久久久久久免费看农村| 国产亚洲制服色| a亚洲天堂av| 亚洲精品午夜久久久| 欧美午夜精品久久久| 日韩在线卡一卡二| 日韩精品一区二区三区在线| 粉嫩欧美一区二区三区高清影视| 《视频一区视频二区| 欧美日韩黄色影视| 国内精品嫩模私拍在线| 国产精品午夜久久| 欧美在线视频全部完| 男女男精品视频网| 国产精品另类一区| 欧美亚洲另类激情小说| 视频一区视频二区中文字幕| 欧美成人国产一区二区| 不卡一区中文字幕| 日本一区中文字幕| 欧美激情中文不卡| 欧美性高清videossexo| 国产一区视频导航| 国产精品你懂的| 91精品国产一区二区三区香蕉| 九九**精品视频免费播放| 国产精品国产a| 欧美群妇大交群中文字幕| 岛国av在线一区| 五月激情综合网| 国产精品情趣视频| 91精品国产手机| 一本久久综合亚洲鲁鲁五月天| 婷婷国产在线综合| 中文字幕制服丝袜成人av| 欧美浪妇xxxx高跟鞋交| www.一区二区| 国产自产视频一区二区三区| 亚洲制服欧美中文字幕中文字幕| 2020日本不卡一区二区视频| 欧美性感一区二区三区| 不卡的电视剧免费网站有什么| 蜜臀av一区二区在线免费观看| 亚洲毛片av在线| 欧美国产综合一区二区| 7777精品伊人久久久大香线蕉的 | 国产精品中文字幕一区二区三区| 亚洲综合成人网| 国产精品萝li| 久久精子c满五个校花| 91精品国产综合久久久蜜臀图片| 色婷婷久久久久swag精品| 成人av在线网站| 国产一区二区h| 国模娜娜一区二区三区| 蜜臀a∨国产成人精品| 一区2区3区在线看| 欧美亚州韩日在线看免费版国语版| 奇米影视一区二区三区| 亚洲激情自拍视频| 成人欧美一区二区三区白人| 久久久精品蜜桃| 精品处破学生在线二十三| 欧美一二三四在线| 日韩一区二区三区电影在线观看| 91官网在线免费观看| 色播五月激情综合网| 色国产精品一区在线观看| 91日韩精品一区| 在线这里只有精品| 91福利视频网站| 欧美性生活久久| 欧美老人xxxx18| 日韩一级欧美一级| 精品电影一区二区三区| 26uuu精品一区二区| 精品国产不卡一区二区三区| 韩国在线一区二区| 日本欧美韩国一区三区| 午夜久久久影院| 日本成人在线网站| 久久电影网站中文字幕 | av网站免费线看精品| 成人国产精品免费观看动漫| caoporn国产精品| 91久久精品日日躁夜夜躁欧美| 色综合久久中文综合久久牛| 在线视频国内一区二区| 欧美日韩电影一区| 日韩一级片在线观看| 欧美国产日产图区| 亚洲欧美日韩小说| 免费精品视频在线| kk眼镜猥琐国模调教系列一区二区| 日韩高清欧美激情| 日韩欧美一级精品久久| 日韩午夜电影av| 日本一区二区视频在线观看| 亚洲美女一区二区三区| 天堂一区二区在线免费观看| 国产在线播放一区| 91麻豆精品在线观看| 欧美一区欧美二区| 国产精品免费观看视频| 天天综合色天天综合色h| 国产盗摄视频一区二区三区| 欧美亚洲禁片免费| 国产视频一区二区在线| 一区二区三区成人| 国产在线视频一区二区三区| 色成年激情久久综合| 久久综合九色综合97婷婷女人 | 国产一区二区三区免费在线观看| 国产99久久久久久免费看农村| 欧美日韩国产不卡| 国产精品久久久久精k8 | 欧美激情中文字幕| 日本在线不卡视频|