找到可执行文件的路径

问题描述 投票:2回答:1

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

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

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

ocaml
1个回答
3
投票

您可以使用fileutils库,它实现了POSIX兼容的文件实用程序,包括您正在寻找的which实用程序。例如。

# #use "topfind";;
# #require "fileutils";;
# FileUtil.which "cal";;
- : FilePath.filename = "/usr/bin/cal"
© www.soinside.com 2019 - 2024. All rights reserved.