Zu Versuchszwecken habe ich eine Binärdatei erstellt, die das druckt $PATH
und which
wie folgt aufruft :
#include <stdlib.h>
#include <stdio.h>
int main() {
char *path = getenv("PATH");
if (path)
printf("got a path: %s\n", path);
else
printf("got no path\n");
system("which which");
return 0;
}
wenn ich es in einer leeren Umgebung über laufen lasse
env -i ./printpath
Ich bekomme folgenden Ausdruck:
got no path
/usr/bin/which
Meine Frage ist: Warum wird die richtige which
Binärdatei aufgerufen, auch wenn es keine gibt $PATH
?