title: The 66 Suite: 66-env author: Eric Vidal <eric@obarun.org> [66](index.html) [obarun.org](https://web.obarun.org) # 66-env Handles an environment file and variable of a service depending on the options passed. ## Interface ``` 66-env [ -h ] [ -z ] [ -v verbosity ] [ -t tree ] [ -c version ] [ -s version ] [ -V|L ] [ -r key=value ] [ -i src,dst ] [ -e ] service ``` - This program allows to handle the configuration file of *service* found by default at `%%service_admconf%%/<service>`. Depending of the options passed, you can displays the contents of the file, see the current version used, edits the configuration file and so on. ## Exit codes - *0* success - *100* wrong usage - *111* system call failed ## Options - **-h** : prints this help. - **-z** : use color. - **-v** *verbosity* : increases/decreases the verbosity of the command. * *1* : only print error messages. This is the default. * *2* : also print warning messages. * *3* : also print tracing messages. * *4* : also print debugging messages. - **-t** : handles the *selection* of the given *tree*. This option is mandatory except if a tree was marked as 'current'—see [66-tree](66-tree.html). - **-c** *version* : makes *version* as the current one to use by default. If the service is already running, you need to restart the *service* to apply the change by the command e.g. `66-start -r <service>`. - **-s** *version* : specifies the version to handles with the options **-V**, **-L**, **-r** and **-e** instead of using the current one. - **-V** : lists available versioned configuration directories of the *service*. The term `current` is used to specific the current version in use as follow: ```` 0.2.0 0.1.4 current ```` - **-r** *key=value* : override an existing `key=value` pair with the given one. The `key=value` needs to be single quoted in case of multiple arguments.This option can be specified multiple times. - **-L** : lists defined environment variables for the *service*. It do the same for all files found at the configuration directory. - **-i** *src,dst* : imports configuration file from *src* version to *dst* version. The *src* version and *dst* version need to be separated by a comma without space before and after it. It **do not import** the configuration written by the `66-enable` process but only deal with extra configuration files written by the sysadmin. - **-e** : edit the configuration file with `EDITOR` set in your system environment. This is the default option if neither option is passed. If you use this option with a `sudo` command, you need to specify the `-E` option at sudo call—see [examples](66-env.html#Usage examples). ## Usage examples ``` 66-env -L ntpd 66-env -r CMD_ARGS=-d 66-env -r CMD_ARGS='-c /etc/nginx/nginx.conf -g "daemon off;"' 66-env -i 0.1.6,0.1.7 nginx 66-env -V ntpd sudo -E 66-env -e ntpd 66-env -s 0.1.6 ntpd ``` ## Notes Removing a *key* from the environment after the use can be handled by using an exclamation mark `!` at the begin of the value: ``` 66-env -r 'CMD_ARGS=!-c /etc/nginx/nginx.conf -g "daemon off;"' ```