From 52fbeb24e7dd50b0ff430f524056e6579f7802bc Mon Sep 17 00:00:00 2001
From: ebert1 <ja.ebert@fz-juelich.de>
Date: Fri, 29 Oct 2021 12:47:19 +0200
Subject: [PATCH] Support ZSH

ZSH does not set `BASH_SOURCE`, so we use a command to get the
corresponding path.

See also https://stackoverflow.com/a/28336473.
---
 activate.sh      | 3 ++-
 config.sh        | 2 +-
 create_kernel.sh | 2 +-
 setup.sh         | 2 +-
 4 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/activate.sh b/activate.sh
index dd6e78e..1ebb7bc 100644
--- a/activate.sh
+++ b/activate.sh
@@ -1,6 +1,7 @@
 #!/bin/bash
 
-SOURCE_PATH="${BASH_SOURCE[0]}"
+# See https://stackoverflow.com/a/28336473
+SOURCE_PATH="${BASH_SOURCE[0]:-${(%):-%x}}"
 
 RELATIVE_PATH="$(dirname "$SOURCE_PATH")"
 ABSOLUTE_PATH="$(realpath "${RELATIVE_PATH}")"
diff --git a/config.sh b/config.sh
index 8706f74..b7de5f7 100644
--- a/config.sh
+++ b/config.sh
@@ -1,4 +1,4 @@
-SOURCE_PATH="${BASH_SOURCE[0]}"
+SOURCE_PATH="${BASH_SOURCE[0]:-${(%):-%x}}"
 
 ## Check if this script is sourced
 [[ "$0" != "${SOURCE_PATH}" ]] && echo "Setting vars" || ( echo "Vars script must be sourced." && exit 1) ;
diff --git a/create_kernel.sh b/create_kernel.sh
index 93dd606..e09007b 100755
--- a/create_kernel.sh
+++ b/create_kernel.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-SOURCE_PATH="${BASH_SOURCE[0]}"
+SOURCE_PATH="${BASH_SOURCE[0]:-${(%):-%x}}"
 
 RELATIVE_PATH="$(dirname "$SOURCE_PATH")"
 ABSOLUTE_PATH="$(realpath "${RELATIVE_PATH}")"
diff --git a/setup.sh b/setup.sh
index 491a50c..326a7c4 100755
--- a/setup.sh
+++ b/setup.sh
@@ -1,6 +1,6 @@
 #!/bin/bash
 
-SOURCE_PATH="${BASH_SOURCE[0]}"
+SOURCE_PATH="${BASH_SOURCE[0]:-${(%):-%x}}"
 
 RELATIVE_PATH="$(dirname "$SOURCE_PATH")"
 ABSOLUTE_PATH="$(realpath "${RELATIVE_PATH}")"
-- 
GitLab