это то, что я использую, может понадобиться настройка здесь или там
abspath ()
{
case "${1}" in
[./]*)
local ABSPATH="$(cd ${1%/*}; pwd)/${1##*/}"
echo "${ABSPATH/\/\///}"
;;
*)
echo "${PWD}/${1}"
;;
esac
}
Это для любого файла - и, конечно, вы можете просто вызвать его как abspath ${0}
В первом случае речь идет об относительных путях путем перехода к пути и определения его в pwd
Во втором случае речь идет о локальном файле (где $ {1 ## /} не сработал)
Это НЕ пытается отменить символические ссылки!