Unix 路径搜索 C 函数 [关闭]

2024-01-11

我正在编写 UNIX shell 程序,并且必须使用execv()系统调用来创建进程。 参数之一为execv()是可执行文件的文件路径。所以如果有人输入/bin/ls,它将运行ls可执行的。但我需要的是一个函数,当ls输入后,它将搜索文件路径ls(像which命令)。有没有一个功能可以让我做到这一点?

不幸的是,这是一个学校项目,我不允许使用execvp()。我需要实现一些路径搜索功能,然后将该文件路径添加到execv()范围。


Use PATH = getenv("PATH")从环境中获取路径字符串,然后使用连续调用strtok(PATH,":") then strtok(NULL,":")解析出来自的路径PATH字符串放入数组中char **path,您需要分配它malloc(). Place path[x] + '/' + argv[0]进入缓冲区,并使用access(buffer, X_OK)查看是否可以在该路径位置执行文件,如果可以,请执行execv(buffer,argv).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unix 路径搜索 C 函数 [关闭] 的相关文章

随机推荐