shell /bat 指令


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 扩充到一个路径

linux shell readlink 获取当前脚本文件绝对路径