How to resolve symbolic links in a shell script

后端 未结 19 2192
死守一世寂寞
死守一世寂寞 2020-11-28 00:48

Given an absolute or relative path (in a Unix-like system), I would like to determine the full path of the target after resolving any intermediate symlinks. Bonus points for

19条回答
  •  独厮守ぢ
    2020-11-28 01:33

    My answer here Bash: how to get real path of a symlink?

    but in short very handy in scripts:

    script_home=$( dirname $(realpath "$0") )
    echo Original script home: $script_home
    

    These are part of GNU coreutils, suitable for use in Linux systems.

    To test everything, we put symlink into /home/test2/, amend some additional things and run/call it from root directory:

    /$ /home/test2/symlink
    /home/test
    Original script home: /home/test
    

    Where

    Original script is: /home/test/realscript.sh
    Called script is: /home/test2/symlink
    

提交回复
热议问题