83 lines
2.0 KiB
ReStructuredText
83 lines
2.0 KiB
ReStructuredText
.. _posix-env-sample:
|
|
|
|
POSIX Environment Variables
|
|
###########################
|
|
|
|
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
|