Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- int main(int argc, char *argv[])
- {
- if(argv[1] == NULL ){
- char buffer1[1024];
- char buffer2[1024];
- char** argv2 = malloc(sizeof(char*)*100);
- char* exmpl1, *exmpl2;
- while(1){
- getcwd(buffer1, 1024);
- write(STDOUT_FILENO, buffer1, strlen(buffer1));
- write(STDOUT_FILENO, "$ ", 2);
- ssize_t read_char = read(STDIN_FILENO, buffer2, 1024);
- buffer2[read_char-1] = '\0';
- parse_line(buffer2, &argv2);
- parse_line_redir(buffer2, &argv2, &exmpl1, &exmpl2);
- write(STDOUT_FILENO, "\n", 1);
- redir_cmd(argv2, exmpl1, exmpl2);
- //affiche_cmd((const char**)argv);
- simple_cmd(argv2);
- }
- }else{
- if(argc >1){
- if(!strcmp(strpbrk(argv[1], "."), ".sh")){
- int fd = open(argv[1], O_RDONLY);
- char buffer[1024] = {0};
- char buffercpy[1024] = {0};
- char **commande = malloc(sizeof(char*)*100);
- while(read(fd, buffer, 1024) !=0){
- strcpy(buffercpy, buffer);
- char *ret, *save;
- ret = strtok_r(buffercpy, "\n", &save);
- parse_line(ret, &commande);
- simple_cmd(commande);
- freeArg(commande);
- write(1, ret, strlen(ret));
- while((ret = strtok_r(NULL, "\n", &save)) != NULL){
- char **commande = malloc(sizeof(char*)*100);
- write(1, ret, strlen(ret));
- parse_line(ret, &commande);
- simple_cmd(commande);
- }
- free(commande);
- //execvp(commande[0], commande);
- }
- close(fd);
- }
- exit(EXIT_SUCCESS);
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement