#!/bin/sh ## ## SPDX-FileCopyrightText: 2023 Benjamin Grande M. S. ## ## SPDX-License-Identifier: CC-BY-SA-3.0 ## ## Credits: https://stackoverflow.com/a/44644933 ## From any file, get its current directory. ## usage: get-script-dir $0 set -eu test -n "${1-}" || exit 1 prg="$1" if ! test -e "${prg}"; then case "${prg}" in (*/*) exit 1;; (*) prg=$(command -v -- "${prg}") || exit 1;; esac fi dir="$(cd -P -- "$(dirname -- "${prg}")" && pwd -P)" || exit 1 prg="${dir}/$(basename -- "${prg}")" || exit 1 printf '%s\n' "${dir}" exit 0