shellexpand is a small dependency-less library which allows one to perform shell-like expansions in strings,
that is, to expand variables like $A
or ${B}
into their values inside some context and to expand
~
in the beginning of a string into the home directory (again, inside some context).
This crate provides generic functions which accept arbitrary contexts as well as default, system-based
functions which perform expansions using the system-wide context (represented by functions from std::env
module).
Just add a dependency in your Cargo.toml
:
[dependencies]
shellexpand = "1.0"
See the crate documentation (a link is present in the beginning of this readme) for more information and examples.
- Fixed typos and minor incompletenesses in the documentation
- Changed
home_dir
argument type for tilde expansion functions toFnOnce
insteadFnMut
- Changed
LookupError::name
field name tovar_name
- Initial release.
This program is licensed under either of
- Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
at your option.
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.