36 lines
860 B
Markdown
36 lines
860 B
Markdown
|
[![Build Status](https://github.com/harryfei/which-rs/actions/workflows/rust.yml/badge.svg)](https://github.com/harryfei/which-rs/actions/workflows/rust.yml)
|
||
|
|
||
|
# which
|
||
|
|
||
|
A Rust equivalent of Unix command "which". Locate installed executable in cross platforms.
|
||
|
|
||
|
## Support platforms
|
||
|
|
||
|
* Linux
|
||
|
* Windows
|
||
|
* macOS
|
||
|
|
||
|
## Examples
|
||
|
|
||
|
1) To find which rustc executable binary is using.
|
||
|
|
||
|
``` rust
|
||
|
use which::which;
|
||
|
|
||
|
let result = which("rustc").unwrap();
|
||
|
assert_eq!(result, PathBuf::from("/usr/bin/rustc"));
|
||
|
```
|
||
|
|
||
|
2. After enabling the `regex` feature, find all cargo subcommand executables on the path:
|
||
|
|
||
|
``` rust
|
||
|
use which::which_re;
|
||
|
|
||
|
which_re(Regex::new("^cargo-.*").unwrap()).unwrap()
|
||
|
.for_each(|pth| println!("{}", pth.to_string_lossy()));
|
||
|
```
|
||
|
|
||
|
## Documentation
|
||
|
|
||
|
The documentation is [available online](https://docs.rs/which/).
|