mirror of
https://github.com/systemd/systemd.git
synced 2024-10-30 14:55:37 +03:00
5ef599b324
This commit adds a function which converts a bus message containing the environment variables to a JSON object and uses this function to support JSON formatted output for the "systemctl show-environment" command. Fixes #21348
36 lines
1.0 KiB
Bash
Executable File
36 lines
1.0 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# SPDX-License-Identifier: LGPL-2.1-or-later
|
|
set -eux
|
|
set -o pipefail
|
|
|
|
# Make sure PATH is set
|
|
systemctl show-environment | grep -q '^PATH='
|
|
|
|
# Let's add an entry and override a built-in one
|
|
systemctl set-environment PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/testaddition FOO=BAR
|
|
|
|
# Check that both are set
|
|
systemctl show-environment | grep -q '^PATH=.*testaddition$'
|
|
systemctl show-environment | grep -q '^FOO=BAR$'
|
|
|
|
systemctl daemon-reload
|
|
|
|
# Check again after the reload
|
|
systemctl show-environment | grep -q '^PATH=.*testaddition$'
|
|
systemctl show-environment | grep -q '^FOO=BAR$'
|
|
|
|
# Check that JSON output is supported
|
|
systemctl show-environment --output=json | grep -q '^{.*"FOO":"BAR".*}$'
|
|
|
|
# Drop both
|
|
systemctl unset-environment FOO PATH
|
|
|
|
# Check that one is gone and the other reverted to the built-in
|
|
systemctl show-environment | grep '^FOO=$' && exit 1
|
|
systemctl show-environment | grep '^PATH=.*testaddition$' && exit 1
|
|
systemctl show-environment | grep -q '^PATH='
|
|
|
|
echo OK >/testok
|
|
|
|
exit 0
|