Skip to content

blang/expenv

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

expenv - Expand environment variables Build Status

Expenv replaces ${var} or $var in the input to the values of the current environment variables. Supports stdin/stdout and files.

There is also a newer version available, expenv.sh, written as shell script.

Usage

$ go get github.com/blang/expenv
$ $GOPATH/bin/expenv -f inputfile

If you don't want to build it, you might want to download the ELF x86-64 binary of the latest release (build by travis-ci).

Examples

$ expenv -f inputfile > outputfile
$ expenv < inputfile > outputfile
$ expenv -i -f inputfile // Replace inplace

Example input:

My PWD is $PWD
Whoami: ${USER}
I'm using $TERM
Expand $empty but don't expand $$empty
Don't expand $(echo empty)

As mentioned in the above example, two special cases exist:

  • $$ is converted to $, allowing you to pass in literal-dollar-signs
  • $( is not converted, allowing your input to contain subshell like behaviour

Motivation

I need to make config files more dynamic using environment variables. In a docker environment this is a big issue for me.

Contribution

Feel free to make a pull request. For bigger changes create a issue first to discuss about it.

License

See LICENSE file.

About

Expands environment variables in config files

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages