A bash snippet to get the directory a script is located in
See https://stackoverflow.com/a/246128/3561275 for details about how this works.
This commit is contained in:
parent
69cc1c19c7
commit
a0112a9ee6
1 changed files with 14 additions and 0 deletions
14
snippets/sh-mode/script-dir
Normal file
14
snippets/sh-mode/script-dir
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
# -*- mode: snippet -*-
|
||||||
|
# name: the currently executing/sourced script's directory
|
||||||
|
# key: script-dir
|
||||||
|
# --
|
||||||
|
# See https://stackoverflow.com/a/246128/3561275
|
||||||
|
SOURCE="\${BASH_SOURCE[0]}"
|
||||||
|
while [ -h "\$SOURCE" ]; do # resolve \$SOURCE until the file is no longer a symlink
|
||||||
|
DIR="\$( cd -P "\$( dirname "\$SOURCE" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
SOURCE="\$(readlink "\$SOURCE")"
|
||||||
|
[[ \$SOURCE != /* ]] && SOURCE="\$DIR/\$SOURCE" # if \$SOURCE was a relative symlink, we need to resolve it relative to the path where the symlink file was located
|
||||||
|
done
|
||||||
|
DIR="\$( cd -P "\$( dirname "\$SOURCE" )" >/dev/null 2>&1 && pwd )"
|
||||||
|
|
||||||
|
$0
|
Loading…
Reference in a new issue