shell
echo "$(readlink -f "${0}")"
> /home/lhw/Gradute/365/allsystem/DLL/MeshLab/AppRun
HERE="$(dirname "$(readlink -f "${0}")")"
echo "${HERE}"
> /home/lhw/Gradute/365/allsystem/DLL/MeshLab
readlink
:Linux中的readlink命令用于打印解析的符号链接或规范文件名。用简单的话来说,只要我们有一个符号链接,我们就想知道它代表什么路径。然后,在这种情况下,将使用readlink命令显示符号链接的实际路径。
readlink -f
:通过递归跟随给定名称的每个组件中的每个符号链接,此选项可以规范化;除最后一个组件外,所有组件都必须存在。
dirname
:dirname 表示获取指定脚本所在的路径
"${0}"
:表示获取当前脚本名
bat
%~dp0
:批处理本身的目录
%~d0 - 仅将 %0 扩充到一个驱动器号
%~p0 - 仅将 %0 扩充到一个路径