Crates.io | fenv |
lib.rs | fenv |
version | 0.2.1 |
source | src |
created_at | 2023-06-08 03:08:11.782911 |
updated_at | 2023-06-08 03:08:11.782911 |
description | new env command with dotenv |
homepage | https://gitlab/moba1/fenv |
repository | https://gitlab/moba1/fenv |
max_upload_size | |
id | 885146 |
size | 41,120 |
new env
command
This project use clap and clap require rust v1.64 or higher version. Therefore, this program require rust v1.64 or higher version.
$ 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
env command with dotenv
Usage: fenv [OPTIONS] [ARGUMENTS]...
Arguments:
[ARGUMENTS]... environment set and comand arguments [format: [NAME=VALUE]... [COMMAND [ARG]...]]
Options:
-f <DOTENV_FILES> dotenv file path
--color <COLOR_MODE> 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_A=1
ENV_B=2
Assuming you have this file stored in ~/.env
and want to load it.
To achieve this, execute following command:
$ 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.
# この場合、 ~/.env.1 -> ~/.env2 の順番に読み込まれる
fenv -f ~/.env.1 -f ~/.env.2
Alternatively, environment variables can be specified in same way as in conventional env
.
$ fenv ENV=true sh -c 'echo ENV=$ENV'
ENV=true
It can also be combined.
$ 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.
$ fenv
PWD=/home/example
PATH=...
...
Environment variable name can use any character except =
.
On the other hand, environment variable value can use any character.
$ fenv 🚀=✨
...
🚀=✨
...
If you want to output environment variable, you set color mode by using --color
option.
auto
mode: default mode. If you want to specify this mode, set --color=auto
. If stdout is tty, environment variables output is colorized, and is not colorized otherwise.never
mode: set --color=never
. environment variables output is not colorized.always
mode: set --color=always
. environment variables output is always colorized.# colorized outputs
fenv --color=always