From 4502350512f01ddaee8c4e6366bfbd0fedb994b3 Mon Sep 17 00:00:00 2001 From: "Jason A. Donenfeld" Date: Wed, 16 May 2018 04:15:05 +0200 Subject: [PATCH] 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 --- src/wg-quick/darwin.bash | 26 +++++++++++++------------- src/wg-quick/linux.bash | 20 ++++++++++---------- 2 files changed, 23 insertions(+), 23 deletions(-) diff --git a/src/wg-quick/darwin.bash b/src/wg-quick/darwin.bash index ba1e49b..4a3240c 100755 --- a/src/wg-quick/darwin.bash +++ b/src/wg-quick/darwin.bash @@ -1,11 +1,9 @@ -#!/usr/local/bin/bash +#!/usr/bin/env bash # SPDX-License-Identifier: GPL-2.0 # # Copyright (C) 2015-2018 Jason A. Donenfeld . All Rights Reserved. # -# The shebang is in /usr/local because this requires bash 4. - set -e -o pipefail shopt -s extglob export LC_ALL=C @@ -29,6 +27,18 @@ CONFIG_FILE="" PROGRAM="${0##*/}" 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() { local interface_section=0 line key value stripped CONFIG_FILE="$1" @@ -71,16 +81,6 @@ read_bool() { esac } -cmd() { - echo "[#] $*" >&2 - "$@" -} - -die() { - echo "$PROGRAM: $*" >&2 - exit 1 -} - auto_su() { [[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}" } diff --git a/src/wg-quick/linux.bash b/src/wg-quick/linux.bash index cd66b4d..38ccad2 100755 --- a/src/wg-quick/linux.bash +++ b/src/wg-quick/linux.bash @@ -26,6 +26,16 @@ CONFIG_FILE="" PROGRAM="${0##*/}" ARGS=( "$@" ) +cmd() { + echo "[#] $*" >&2 + "$@" +} + +die() { + echo "$PROGRAM: $*" >&2 + exit 1 +} + parse_options() { local interface_section=0 line key value stripped CONFIG_FILE="$1" @@ -68,16 +78,6 @@ read_bool() { esac } -cmd() { - echo "[#] $*" >&2 - "$@" -} - -die() { - echo "$PROGRAM: $*" >&2 - exit 1 -} - auto_su() { [[ $UID == 0 ]] || exec sudo -p "$PROGRAM must be run as root. Please enter the password for %u to continue: " "$SELF" "${ARGS[@]}" }