Skip to content

Latest commit

 

History

History
 
 

env

Folders and files

NameName
Last commit message
Last commit date

parent directory

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

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.

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.

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=

Unsetting Environment Variables

The shell command below may be used to unset environment variables.

uart:~$ posix env unset BOARD