.. zephyr:code-sample:: posix-env :name: Environment Variables Manipulate environment variables from a Zephyr application.
In this sample application, the POSIX :c:func:`setenv`, function is used to populate several environment variables in C. Then, all environment variables are then printed.
If the user sets a new value for the ALERT
environment variable, it is printed to standard
output, and then cleared via :c:func:`unsetenv`.
This project outputs to the console. It can be built and executed on QEMU as follows:
.. zephyr-app-commands:: :zephyr-app: samples/posix/env :host-os: unix :board: qemu_riscv32 :goals: run :compact:
The program below shows sample output for a specific Zephyr build.
BOARD=qemu_riscv32
BUILD_VERSION=zephyr-v3.5.0-5372-g3a46f2d052c7
ALERT=
The shell command below shows how to create a new environment variable or update the value associated with an existing environment variable.
The C code that is part of this sample application displays the value associated with the
ALERT
environment variable and then immediately unsets it.
uart:~$ posix env set ALERT="Happy Friday!"
uart:~$ ALERT="Happy Friday!"
uart:~$ posix env set HOME="127.0.0.1"
uart:~$
The shell command below may be used to display the value associated with one environment variable.
uart:~$ posix env get BOARD
qemu_riscv32
The shell command below may be used to display all environment variables and their associated values.
uart:~$ posix env get
BOARD=qemu_riscv32
BUILD_VERSION=zephyr-v3.5.0-5372-g3a46f2d052c7
ALERT=
The shell command below may be used to unset environment variables.
uart:~$ posix env unset BOARD