找到可执行文件的路径

时间:2017-12-07 09:40:16

标签: ocaml

如何根据PATH环境变量找到可执行文件的绝对路径(例如,基于/bin/sh的环境变量)?

换句话说,是否有一个功能,例如program_path "cal"返回"/usr/bin/cal"

提出这个问题的原因是:OCaml库中的一些函数(例如Unix.execvp)只能获取程序的名称(函数将自己搜索程序)。我想知道这个搜索功能是否可供用户使用。

1 个答案:

答案 0 :(得分:3)

您可以使用fileutils库来实现符合POSIX标准的文件实用程序,包括which实用程序,您正在寻找的实用程序。 E.g。

# #use "topfind";;
# #require "fileutils";;
# FileUtil.which "cal";;
- : FilePath.filename = "/usr/bin/cal"