Je suis en train de programmer un shell UNIX et je dois utiliser l'appel système execv()
pour créer un processus. L'un des paramètres pour execv()
est le chemin de fichier pour l'exécutable. Donc, si quelqu'un tape /bin/ls
, il exécutera l'exécutable ls
. Mais ce dont j'ai besoin est une fonction telle que lorsque ls
est tapé, il va chercher le chemin de fichier de ls
(comme la commande which
). Y at-il une fonction qui me permet de faire cela?unix recherche de chemin C fonction
Malheureusement, il s'agit d'un projet scolaire que je ne suis pas autorisé à utiliser execvp()
. Je dois implémenter une fonction de recherche de chemin, puis ajouter ce chemin de fichier au paramètre execv()
.
L'utilisation de getenv ("PATH") est aussi fiable que l'utilisation d'envp; vous devez avoir le contrôle de main() pour pouvoir y arriver. –