wg-quick: darwin: use bash from environment and require bash 4+

For properly configured Homebrew installations /usr/local/bin should be
before /bin, so this should still work. This allows the script to be
used in more than one setting.

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld 2018-05-16 04:15:05 +02:00
parent 699777da8c
commit 4502350512
2 changed files with 23 additions and 23 deletions

View File

@ -1,11 +1,9 @@
#!/usr/local/bin/bash #!/usr/bin/env bash
# SPDX-License-Identifier: GPL-2.0 # SPDX-License-Identifier: GPL-2.0
# #
# Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved. # Copyright (C) 2015-2018 Jason A. Donenfeld <Jason@zx2c4.com>. All Rights Reserved.
# #
# The shebang is in /usr/local because this requires bash 4.
set -e -o pipefail set -e -o pipefail
shopt -s extglob shopt -s extglob
export LC_ALL=C export LC_ALL=C
@ -29,6 +27,18 @@ CONFIG_FILE=""
PROGRAM="${0##*/}" PROGRAM="${0##*/}"
ARGS=( "$@" ) ARGS=( "$@" )
cmd() {
echo "[#] $*" >&2
"$@"
}
die() {
echo "$PROGRAM: $*" >&2
exit 1
}
[[ ${BASH_VERSINFO[0]} -ge 4 ]] || die "Version mismatch: bash ${BASH_VERSINFO[0]} detected, when bash 4+ required"
parse_options() { parse_options() {
local interface_section=0 line key value stripped local interface_section=0 line key value stripped
CONFIG_FILE="$1" CONFIG_FILE="$1"
@ -71,16 +81,6 @@ read_bool() {
esac esac
} }
cmd() {
echo "[#] $*" >&2
"$@"
}
die() {
echo "$PROGRAM: $*" >&2
exit 1
}
auto_su() { auto_su() {
[[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}" [[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}"
} }

View File

@ -26,6 +26,16 @@ CONFIG_FILE=""
PROGRAM="${0##*/}" PROGRAM="${0##*/}"
ARGS=( "$@" ) ARGS=( "$@" )
cmd() {
echo "[#] $*" >&2
"$@"
}
die() {
echo "$PROGRAM: $*" >&2
exit 1
}
parse_options() { parse_options() {
local interface_section=0 line key value stripped local interface_section=0 line key value stripped
CONFIG_FILE="$1" CONFIG_FILE="$1"
@ -68,16 +78,6 @@ read_bool() {
esac esac
} }
cmd() {
echo "[#] $*" >&2
"$@"
}
die() {
echo "$PROGRAM: $*" >&2
exit 1
}
auto_su() { auto_su() {
[[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}" [[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}"
} }