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

前端 未结 16 2168
我寻月下人不归
我寻月下人不归 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 04:03

    Let's make it a POSIX oneliner:

    a="/$0"; a=${a%/*}; a=${a#/}; a=${a:-.}; BASEDIR=$(cd "$a"; pwd)
    

    Tested on many Bourne-compatible shells including the BSD ones.

    As far as I know I am the author and I put it into public domain. For more info see: https://www.jasan.tk/posts/2017-05-11-posix_shell_dirname_replacement/

提交回复
热议问题