I have a program I’ve written which I’d like to run from anywhere in the terminal. I’ve tried things like aliasing the target/release/ to something and calling that, similarly within a bash function but none of them work. Is there something I’m missing?
Also, not related to the question above but is there a way to include
~ in the file path in Rust? Similar to Python’s
os.path.expanduser('~') or otherwise.
You need to put the binary in your
You can get the home directory using the
home_dir function in https://crates.io/crates/dirs
There is also expanduser crate.
You can run
cargo install in your project, and it will install it “globally” with other cargo executables. That depends on having cargo’s
bin directory in
PATH, but if you’ve installed Rust that should already be the case.
To expand on how to get your binary into your PATH:
PATH is an environment variable that contains a colon-separated list of directories where your shell looks for programs when you type their name. You can check which directories are in
PATH by typing
echo $PATH in your shell. If you put your binary in one of these, you can run it from the terminal. If you’ve setup cargo, then
/home/yourname/.cargo/bin will already be in your
cargo install will put it there as @kornel said.
You can manually add any other directory to
PATH using this shell command:
In order to make that persistent, add that line to your