Crate whereismybin

source ·
Expand description

Locates installed executable inside directories specified in the PATH environment variable.

The goals of this implementations are:

  • No dependencies except the standard library.
  • No unsafe code, no syscalls, no calls to libc.
  • Compatibility with Miri.

Example

whereismybin can be used as a library. Example:

use std::process::Command;

use whereismybin::whereismybin;

let my_tool = whereismybin("my-tool").expect("Could not find my-tool");
let output = Command::new(my_tool)
    .arg("--some-arg")
    .output()
    .expect("Failed to execute process");
let content = output.stdout;

Why not which-rs?

The which-rs crate is great, but unfortunately it doesn’t run on Miri and depends on libc crate. whereismybin aims to provide more lightweight alternative.

Functions