1 个不稳定版本
0.2.0 | 2020年4月11日 |
---|
#564 在 文件系统
27,259 每月下载量
在 27 个 Crates 中使用 (8 直接)
12KB
146 行
pathsearch
这个 crate 提供了可用于在 POSIX 和 Windows 系统上根据 PATH 环境搜索可执行文件的功能。
find_executable_in_path
是这个 crate 导出的最方便的函数;给定一个可执行文件名,它将产生第一个匹配文件的绝对路径。
use pathsearch::find_executable_in_path;
if let Some(exe) = find_executable_in_path("ls") {
println!("Found ls at {}", exe.display());
}
PathSearcher
是一个平台无关的结构体,它包含了 find_executable_in_path
使用的路径搜索算法。通过传递 PATH 和 PATHEXT (对于 Windows) 环境变量来构建它,并通过迭代它来逐步产生所有候选结果。这在实现如 which
这样的工具时非常有用,这些工具想要显示所有可能的路径。
use pathsearch::PathSearcher;
use std::ffi::OsString;
let path = std::env::var_os("PATH");
let path_ext = std::env::var_os("PATHEXT");
for exe in PathSearcher::new(
"zsh",
path.as_ref().map(OsString::as_os_str),
path_ext.as_ref().map(OsString::as_os_str),
) {
println!("{}", exe.display());
}
SimplePathSearcher
是一个简单的迭代器,可以用来搜索任意路径中的任意文件,该文件不需要是可执行的。
许可证: MIT
依赖项
~175KB