Tarea 5.
A partir del programa mishell que se construyo en clase, perfeccionarlo para que:
+ Lea la cadena de caracteres y vaya separando los argumentos de los comandos.
(Sugerencia, usar la llamada execvp y usar strtok para hacer la separacion de argumentos,
usando como caracter separador al espacio)
+ Cuando el usuario teclee exit, el shell debe salirse
Se anexa el código fuente del programa mishell
#include
#define MAX 4096
main(){
char cadena[MAX];
int longitud, pid = -1, rtn = -1,status = -1;
while(1){
longitud = read(0,cadena,MAX);
if(longitud < 0){
perror("Error critico"); exit(1);
} else if(longitud > 0){
cadena[longitud -1] = '\0';
pid = fork();
if(pid == 0){
rtn = execlp(cadena,cadena,(char *) 0);
if(rtn<0){
perror("Error en ejecucion"); exit(2); }
} else if(pid >0){ wait(&status);
} else{
perror("error en fork");
exit(3);
}
}/*else if*/
}
}
               (
geocities.com/gusdelact/cib5122003)                   (
geocities.com/gusdelact)