fenv

new env command

Requirements

This project use clap and clap require rust v1.64 or higher version. Therefore, this program require rust v1.64 or higher version.

Getting Started

bash $ cat << EOF > /tmp/.env.sample ENV_A=true EOF $ fenv -f /tmp/.env.sample ENV_B=true sh -c 'echo ENV_A=$ENV_A; echo ENV_B=$ENV_B' ENV_A=true ENV_B=true

Usage

``` env command with dotenv

Usage: fenv [OPTIONS] [ARGUMENTS]...

Arguments: [ARGUMENTS]... environment set and comand arguments [format: [NAME=VALUE]... [COMMAND [ARG]...]]

Options: -f dotenv file path --color color mode [default: auto] [possible values: never, auto, always] -h, --help Print help -V, --version Print version ```

Specifying a .env file with -f will use dotenvy to read the .env file with the specified path. Suppose you want to load .env with following contents:

env ENV_A=1 ENV_B=2

Assuming you have this file stored in ~/.env and want to load it. To achieve this, execute following command:

bash $ fenv -f ~/.env sh -c 'echo ENV_A=$ENV_A; echo ENV_B=$ENV_B' ENV_A=1 ENV_B=2

-f may be specified multiple times. In that case, files, specified by -f are read in the specified order.

```bash

この場合、 ~/.env.1 -> ~/.env2 の順番に読み込まれる

fenv -f ~/.env.1 -f ~/.env.2 ```

Alternatively, environment variables can be specified in same way as in conventional env.

bash $ fenv ENV=true sh -c 'echo ENV=$ENV' ENV=true

It can also be combined.

bash $ cat << EOF > ~/.env ENV_A=true EOF $ fenv -f ~/.env ENV_B=true sh -c 'echo ENV_A=$ENV_A; echo ENV_B=$ENV_B' ENV_A=true ENV_B=true

If specified no program, all currentyly set environment variables are displayed.

bash $ fenv PWD=/home/example PATH=... ...

Documentation

Symbol restrict

Environment variable name can use any character except =. On the other hand, environment variable value can use any character.

bash $ fenv 🚀=✨ ... 🚀=✨ ...

Colorized output

If you want to output environment variable, you set color mode by using --color option.

```bash

colorized outputs

fenv --color=always ```