我正在寻找一个简单的解决方案来检索当前脚本的绝对路径。它需要独立于平台(我希望它可以在 linux、freebsd、macos 和没有 bash 的情况下工作)。
编辑:检索脚本存储库路径的解决方案:
DIR="$( cd "$( dirname "$0" )" && pwd )"(来源:从内部获取 Bash 脚本的源目录)
#!/bin/sh\n\nself=$(\n self=${0}\n while [ -L "${self}" ]\n do\n cd "${self%/*}"\n self=$(readlink "${self}")\n done\n cd "${self%/*}"\n echo "$(pwd -P)/${self##*/}"\n)\n\necho "${self}"\n
Run Code Online (Sandbox Code Playgroud)\n\n它\xc2\x几乎是便携式的\xc2\xbb。模式替换pwd -P
是POSIX,而后者通常是shell内置的。readlink
很常见,但 POSIX 中没有。
我认为没有一种更简单且便携的方式。如果您确实需要类似的东西,我建议您尝试在所有系统上安装realpath 。
\n