在某处(我不记得在哪里)阅读后,我一直在使用这种技术来获取正在运行的 shell 脚本的绝对物理路径。
cd $(dirname "$0") && ABSPATH=$(pwd) && cd - > /dev/null
无论脚本是从绝对路径还是相对路径调用,它似乎都应该完美地工作,即,,,,,,,从另一个script.sh
脚本中,等等。./script.sh
../script.sh
../../../lib/script.sh
/Users/../scripts/script.sh
事实上,这种技术似乎是一种非常可靠的模式,用于绝对化任何相对路径。
我知道出于某种原因,很多用于执行此操作的技术往往不适用于一个系统或另一个系统。那么,这种技术是否存在兼容性问题?它应该适用于几乎所有的 Unix 操作系统和外壳,还是有一些潜在的问题?