How may I detect the name of the directory (or better yet the entire path) in which my shell script is run?
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
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)