是否有POSIX函数PATH根据POSIX规范对PATH环境变量的描述搜索可执行文件并返回可执行文件的绝对路径?
如果没有,是否有简单,安全,标准和可靠的搜索方式PATH?
编辑:
glibc的execvpe()函数有自己的PATH搜索,所以我猜测PATH标准没有定义特定的搜索功能.
编辑2: 我不想复制别人的代码或PATH自己实现搜索,原因如下:
PATH未设置或设置为null,则路径搜索是实现定义的." 我希望这些情况下的行为与系统的行为一致,但如果没有我可以调用的标准函数,我就不能这样做.是否有POSIX函数根据POSIX规范对PATH环境变量的描述在PATH中搜索可执行文件,并返回可执行文件的绝对路径?
没有.
如果没有,是否有一种简单,安全,标准和可靠的方式来搜索PATH?
是的,不是.是的,有一个标准的格式PATH,实现的正确性/可靠性遵循.
不,没有标准功能可以做到这一点.复制代码是您最好的选择.
如果
PATH未设置或设置为null,则路径搜索是实现定义的.
这意味着你不能总是可移植复制什么execvp呢,但是搜索/bin:/usr/bin是一个非常安全的赌注.或者,只是在这种情况下引发错误.
(我承认如果POSIX有这个功能会很好,但它不存在.)