1. void executeCommand(char * fullCommandPath, char ** argumentatos, int argNum)
  2. {
  3. int fd = -1;
  4. int waitCheck = 0;
  5. if(strcmp(argumentatos[argNum],"&") != 0)
  6. {
  7. waitCheck = 1;
  8. }
  9. pid_t pid;
  10. pid = fork();
  11. if(pid == 0)
  12. {
  13. /*if(strcmp(argumentatos[argNum - 1 - waitCheck],">") != 0)
  14.   {
  15.   close ( 1 );
  16.   fd = open(argumentatos[argNum - waitCheck], O_WRONLY | O_CREAT | O_TRUNC );
  17.   dup2(1, fd);
  18.   }
  19.   else if(strcmp(argumentatos[argNum - 1 - waitCheck],"<") != 0)
  20.   {
  21.   close ( 0 );
  22.   fd = open(argumentatos[argNum - waitCheck], O_RDONLY );
  23.   dup2(0, fd);
  24.   }
  25.   else if(strcmp(argumentatos[argNum - 1 - waitCheck],"+>") != 0)
  26.   {
  27.   close ( 1 );
  28.   fd = open(argumentatos[argNum - waitCheck], O_WRONLY | O_CREAT | O_APPEND);
  29.   dup2(1, fd);
  30.   }*/
  31. execv(fullCommandPath, argumentatos);
  32. if(fd != -1)
  33. close(fd);
  34. exit(1);
  35. }
  36. else
  37. {
  38. if(waitCheck)
  39. wait(NULL);
  40. }
  41. }