| .. 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 |