How to detect the current directory in which I run

2019-03-18 00:47发布

问题:

How may I detect the name of the directory (or better yet the entire path) in which my shell script is run?

回答1:

what shell? What operating system?

For starters try

man pwd
$PWD


回答2:

This, I believe, is the most portable way:

dir=$(cd -P -- "$(dirname -- "$0")" && pwd -P)


回答3:

This is not as trivial as it looks like. Check out this question and this



回答4:

alternative method

pid=$$
path=$(ps -eo pid,args| awk -vp=$pid '$1~p{print $3}')
case "$path" in
    ./* ) pwd;;
    * ) echo $path;;
esac


标签: shell