Llamé al comando "ls" usando la llamada al sistema execvp desde el interior del archivo ac. Pero parece haber una ligera diferencia.
Los archivos exe en la llamada ls predeterminada están resaltados en verde, pero no en mi propia llamada execvp ls. ¿Me estoy perdiendo de algo?
Este es el fragmento de código que llama a ls.
else if (rc == 0)
{
// child (new process)
printf("hello, I am child (pid:%d)\n", (int) getpid());
char *myargs[2];
myargs[0] = strdup("ls");
// program: "wc" (word count)
myargs[1] = NULL;//strdup("p3.c"); // argument: file to count
//myargs[2] = NULL;
// marks end of array
execvp(myargs[0], myargs); // runs word count
printf("this shouldn’t print out");
}
Respuesta1
ls
en tu shell hay un alias para ls --color=auto
:
$ alias ls
alias ls='ls --color=auto'
Si desea colorear el ls
resultado, utilice la --color
opción.