|  | .. zephyr:code-sample:: posix-env | 
|  | :name: Environment Variables | 
|  |  | 
|  | Manipulate environment variables from a Zephyr application. | 
|  |  | 
|  | Overview | 
|  | ******** | 
|  |  | 
|  | 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`. | 
|  |  | 
|  | Building and Running | 
|  | ******************** | 
|  |  | 
|  | 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: | 
|  |  | 
|  | Sample Output | 
|  | ============= | 
|  |  | 
|  | The program below shows sample output for a specific Zephyr build. | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | BOARD=qemu_riscv32 | 
|  | BUILD_VERSION=zephyr-v3.5.0-5372-g3a46f2d052c7 | 
|  | ALERT= | 
|  |  | 
|  | Setting Environment Variables | 
|  | ============================= | 
|  |  | 
|  | 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. | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | uart:~$ posix env set ALERT="Happy Friday!" | 
|  | uart:~$ ALERT="Happy Friday!" | 
|  | uart:~$ posix env set HOME="127.0.0.1" | 
|  | uart:~$ | 
|  |  | 
|  |  | 
|  | Getting Environment Variables | 
|  | ============================= | 
|  |  | 
|  | The shell command below may be used to display the value associated with one environment variable. | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | uart:~$ posix env get BOARD | 
|  | qemu_riscv32 | 
|  |  | 
|  | The shell command below may be used to display all environment variables and their associated | 
|  | values. | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | uart:~$ posix env get | 
|  | BOARD=qemu_riscv32 | 
|  | BUILD_VERSION=zephyr-v3.5.0-5372-g3a46f2d052c7 | 
|  | ALERT= | 
|  |  | 
|  | Unsetting Environment Variables | 
|  | =============================== | 
|  |  | 
|  | The shell command below may be used to unset environment variables. | 
|  |  | 
|  | .. code-block:: console | 
|  |  | 
|  | uart:~$ posix env unset BOARD |