如何基于PATH环境变量(例如,基于的环境变量/bin/sh
)找到可执行文件的绝对路径?
换句话说,是否有一个函数,例如program_path "cal"
返回"/usr/bin/cal"
?
提出此问题的原因:OCaml库中的某些函数(例如Unix.execvp
)只能使用程序的名称(该函数将自行搜索程序)。我想知道该搜索功能是否对用户可用。
您可以使用fileutils库,该库实现了POSIX兼容的文件实用程序,包括which
您要查找的实用程序。例如
# #use "topfind";;
# #require "fileutils";;
# FileUtil.which "cal";;
- : FilePath.filename = "/usr/bin/cal"
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句