How may I detect the name of the directory (or better yet the entire path) in which my shell script is run?
what shell? What operating system?
For starters try
man pwd $PWD
This, I believe, is the most portable way:
dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)
This is not as trivial as it looks like. Check out this question and this
alternative method
pid=$$ path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}') case "$path" in ./* ) pwd;; * ) echo $path;; esac