1b3ba51a1Sopenharmony_ci[](https://github.com/harryfei/which-rs/actions/workflows/rust.yml) 2b3ba51a1Sopenharmony_ci 3b3ba51a1Sopenharmony_ci# which 4b3ba51a1Sopenharmony_ci 5b3ba51a1Sopenharmony_ciA Rust equivalent of Unix command "which". Locate installed executable in cross platforms. 6b3ba51a1Sopenharmony_ci 7b3ba51a1Sopenharmony_ci## Support platforms 8b3ba51a1Sopenharmony_ci 9b3ba51a1Sopenharmony_ci* Linux 10b3ba51a1Sopenharmony_ci* Windows 11b3ba51a1Sopenharmony_ci* macOS 12b3ba51a1Sopenharmony_ci 13b3ba51a1Sopenharmony_ci## Examples 14b3ba51a1Sopenharmony_ci 15b3ba51a1Sopenharmony_ci1) To find which rustc executable binary is using. 16b3ba51a1Sopenharmony_ci 17b3ba51a1Sopenharmony_ci ``` rust 18b3ba51a1Sopenharmony_ci use which::which; 19b3ba51a1Sopenharmony_ci 20b3ba51a1Sopenharmony_ci let result = which("rustc").unwrap(); 21b3ba51a1Sopenharmony_ci assert_eq!(result, PathBuf::from("/usr/bin/rustc")); 22b3ba51a1Sopenharmony_ci ``` 23b3ba51a1Sopenharmony_ci 24b3ba51a1Sopenharmony_ci2. After enabling the `regex` feature, find all cargo subcommand executables on the path: 25b3ba51a1Sopenharmony_ci 26b3ba51a1Sopenharmony_ci ``` rust 27b3ba51a1Sopenharmony_ci use which::which_re; 28b3ba51a1Sopenharmony_ci 29b3ba51a1Sopenharmony_ci which_re(Regex::new("^cargo-.*").unwrap()).unwrap() 30b3ba51a1Sopenharmony_ci .for_each(|pth| println!("{}", pth.to_string_lossy())); 31b3ba51a1Sopenharmony_ci ``` 32b3ba51a1Sopenharmony_ci 33b3ba51a1Sopenharmony_ci## Documentation 34b3ba51a1Sopenharmony_ci 35b3ba51a1Sopenharmony_ciThe documentation is [available online](https://docs.rs/which/). 36