将 execv() 与 PATH 环境变量一起使用
我正在编写一个 shell,我想使用 execv() 和通过 $PATH 环境变量搜索正确的目录(是的,我知道我可以使用 execvp() 并将文件名传递给它)。
我正在考虑做的是从 getenv("PATH") 获取一个字符串,将其分解为单独的路径,然后尝试每个路径。但我想知道是否有更简单的方法可以做到这一点?
我想问题是:execvp()
如何搜索正确的路径?
谢谢!
I'm writing a shell and I want to use execv() and search for the right directory through the $PATH
environment variable (Yes, I know I can use execvp()
and just pass the name of the file to it).
What I'm thinking about doing is getting a string from getenv("PATH")
, breaking it down to separate paths then trying each one. But I was wondering if there is an easier way to do it?
I guess the question is: how does execvp()
search for the right path?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您所描述的正是 execvp() 搜索 PATH 的方式。我认为自己重新实现这个没有多大意义。
What you described is exactly how
execvp()
searches the PATH. I don't think there's much point in reimplementing this yourself.