Unix shell script find out which directory the script file resides?

前端 未结 16 2188
我寻月下人不归
我寻月下人不归 2020-12-02 03:14

Basically I need to run the script with paths related to the shell script file location, how can I change the current directory to the same directory as where the script fil

16条回答
  •  借酒劲吻你
    2020-12-02 03:50

    This one-liner tells where the shell script is, does not matter if you ran it or if you sourced it. Also, it resolves any symbolic links involved, if that is the case:

    dir=$(dirname $(test -L "$BASH_SOURCE" && readlink -f "$BASH_SOURCE" || echo "$BASH_SOURCE"))
    

    By the way, I suppose you are using /bin/bash.

提交回复
热议问题