Chamei o comando "ls" usando a chamada do sistema execvp de dentro do arquivo ac. Mas parece haver uma ligeira diferença.
Os arquivos exe na chamada ls padrão são destacados em verde, mas não na minha própria chamada execvp ls. Estou esquecendo de algo?
Este é o trecho de código que está chamando 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");
}
Responder1
ls
no seu shell há um alias para ls --color=auto
:
$ alias ls
alias ls='ls --color=auto'
Se você quiser a coloração na ls
saída, use a --color
opção.