Is there an executable file at the given path?
A small helper function which determines whether or not the given path points to
an executable file. If there is no file at the given path, or the file is not
executable, then false
is returned. When there is a file and the file is
executable, then true
is returned.
This crate works on both Unix-based operating systems (macOS, Linux, FreeBSD, etc...) and Windows.
Does not help with time-of-check to time-of use (TOCTOU) races.
The API comes in two flavors:
-
An extension trait to add an
is_executable
method onstd::path::Path
:use std::path::Path; use is_executable::IsExecutable; fn main() { let path = Path::new("some/path/to/a/file"); // Determine if `path` is executable. if path.is_executable() { println!("The path is executable!"); } else { println!("The path is _not_ executable!"); } }
-
For convenience, a standalone
is_executable
function, which takes anyAsRef<Path>
:use std::path::Path; use is_executable::is_executable; fn main() { let path = Path::new("some/path/to/a/file"); // Determine if `path` is executable. if is_executable(&path) { println!("The path is executable!"); } else { println!("The path is _not_ executable!"); } }
License: Apache-2.0/MIT