zephyr/samples/posix/env
Anas Nashif ec71e04cdb samples: env_posix: fix regex in sample test
ALERT is empty, so do not try to match any content.

Fixes #72858

Signed-off-by: Anas Nashif <anas.nashif@intel.com>
2024-07-12 09:18:56 -04:00
..
src build: namespace the generated headers with zephyr/ 2024-05-28 22:03:55 +02:00
CMakeLists.txt
prj.conf samples: posix: env: fix failure in case of minimal libc is used 2024-07-11 13:24:02 -04:00
README.rst
sample.yaml samples: env_posix: fix regex in sample test 2024-07-12 09:18:56 -04:00

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