#include #include #include #include #include // Programma che implementi una shell con il comando da eseguire // competo di parametri, passato al programma dagli argomenti. // Usa robe strane, aiutato da chatgippi. int main() { char comando[100]; char *args[20]; pid_t pid; while (1) { printf("$> "); fflush(stdout); if (!fgets(comando, sizeof(comando), stdin)) break; comando[strcspn(comando, "\n")] = 0; int i = 0; args[i] = strtok(comando, " "); while (args[i] != NULL && i < 19) { i++; args[i] = strtok(NULL, " "); } if (strcmp(args[0],"exit") == 0) return 0; pid = fork(); if (pid < 0) { printf("Errore nella creazione del figlio."); return -1; } if (pid == 0) { // Figlio execvp(args[0], args); return 0; } else if (pid > 0) { // Padre wait(NULL); //printf("Programma Terminato\n"); } } return 0; }