Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
profile.d: don't bail if $SHELL_* variables are unset
If - for whatever reason - a script uses set -u (nounset) and includes /etc/profile.d/70-systemd-shell-extra.sh (e.g. transitively via /etc/profile) the script would fail with: /etc/profile.d/70-systemd-shell-extra.sh: line 15: SHELL_PROMPT_PREFIX: unbound variable For example: $ cat > foo.sh <<EOF #!/bin/sh set -u source /etc/profile EOF $ chmod 700 foo.sh $ ./foo.sh /etc/profile.d/70-systemd-shell-extra.sh: line 15: SHELL_PROMPT_PREFIX: unbound variable Fix this by using shell parameter substitution[^1] (which is a POSIX shell concept) to set the $SHELL_* variables to the empty string if undefined. [^1]: https://pubs.opengroup.org/onlinepubs/9699919799.2018edition/utilities/V3_chap02.html (cherry picked from commit 12e33d332b3f8754f4d5d0d21d5d3f0de8adc54c) Related: RHEL-71409
- Loading branch information