mirror of
https://github.com/Homebrew/brew.git
synced 2025-07-14 16:09:03 +08:00
Merge pull request #14181 from kaihowl/fix/nounset
fix: allow running bin/brew with SHELLOPTS=nounset
This commit is contained in:
commit
4c95e0dc3f
13
bin/brew
13
bin/brew
@ -1,4 +1,5 @@
|
||||
#!/bin/bash
|
||||
set -u
|
||||
|
||||
# Fail fast with concise message when not using bash
|
||||
# Single brackets is needed here for POSIX compatibility
|
||||
@ -21,7 +22,7 @@ fi
|
||||
# Fail fast with concise message when requesting unfiltered environment.
|
||||
# This is basically odisabled so can be removed at any major release afterwards
|
||||
# and definitely if this is still here in 2023.
|
||||
if [ -n "${HOMEBREW_NO_ENV_FILTERING}" ]
|
||||
if [[ -n "${HOMEBREW_NO_ENV_FILTERING:-}" ]]
|
||||
then
|
||||
echo "Error: HOMEBREW_NO_ENV_FILTERING was deprecated for over a year and has now been removed (because it breaks many things)!" >&2
|
||||
exit 1
|
||||
@ -87,11 +88,11 @@ HOMEBREW_LIBRARY="${HOMEBREW_REPOSITORY}/Library"
|
||||
for VAR in BAT_THEME BROWSER DISPLAY EDITOR NO_COLOR TMUX DBUS_SESSION_BUS_ADDRESS XDG_RUNTIME_DIR CODESPACES
|
||||
do
|
||||
# Skip if variable value is empty.
|
||||
[[ -z "${!VAR}" ]] && continue
|
||||
[[ -z "${!VAR:-}" ]] && continue
|
||||
|
||||
VAR_NEW="HOMEBREW_${VAR}"
|
||||
# Skip if existing HOMEBREW_* variable is set.
|
||||
[[ -n "${!VAR_NEW}" ]] && continue
|
||||
[[ -n "${!VAR_NEW:-}" ]] && continue
|
||||
export "${VAR_NEW}"="${!VAR}"
|
||||
done
|
||||
unset VAR VAR_NEW
|
||||
@ -104,7 +105,7 @@ export HOMEBREW_LIBRARY
|
||||
# set from user environment
|
||||
# shellcheck disable=SC2154
|
||||
# Use VISUAL if HOMEBREW_EDITOR and EDITOR are unset.
|
||||
if [[ -z "${HOMEBREW_EDITOR}" && -n "${VISUAL}" ]]
|
||||
if [[ -z "${HOMEBREW_EDITOR:-}" && -n "${VISUAL:-}" ]]
|
||||
then
|
||||
export HOMEBREW_EDITOR="${VISUAL}"
|
||||
fi
|
||||
@ -113,7 +114,7 @@ fi
|
||||
# shellcheck disable=SC2154
|
||||
# Set CI variable for Azure Pipelines and Jenkins
|
||||
# (Set by default on GitHub Actions, Circle and Travis CI)
|
||||
if [[ -z "${CI}" ]] && [[ -n "${TF_BUILD}" || -n "${JENKINS_HOME}" ]]
|
||||
if [[ -z "${CI:-}" ]] && [[ -n "${TF_BUILD:-}" || -n "${JENKINS_HOME:-}" ]]
|
||||
then
|
||||
export CI="1"
|
||||
fi
|
||||
@ -137,7 +138,7 @@ ENV_VAR_NAMES=(
|
||||
for VAR in "${ENV_VAR_NAMES[@]}" "${!HOMEBREW_@}"
|
||||
do
|
||||
# Skip if variable value is empty.
|
||||
[[ -z "${!VAR}" ]] && continue
|
||||
[[ -z "${!VAR:-}" ]] && continue
|
||||
|
||||
FILTERED_ENV+=("${VAR}=${!VAR}")
|
||||
done
|
||||
|
Loading…
x
Reference in New Issue
Block a user