IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

标签:路径操作

共 1 篇相关文章

IT 累计浏览 6,000

Bash如何取得当前正在执行的脚本的绝对路径?

这篇讲的是Shell脚本中一个看似简单却容易掉坑里的问题:如何可靠地获取当前执行脚本的绝对路径。 作者从实际开发中经常需要使用脚本自身路径的场景出发,重点澄清了两种广为流传但并不正确的“常见误区”。一个是直接使用 `pwd` 命令,它只能获取当前的工作目录,与脚本所在位置无关;另一个是过度依赖特殊变量 `$0`,它的值会随 bash 的调用方式而变化,不一定就是脚本的绝对路径。 文章的核心价值在于对比和辨析。它详细解释了为什么这些方法会失效,并给出了一个经过验证的正确解决方案:`basepath=$(cd \`dirname $0\`; pwd)`。这个方案通过组合 `dirname` 和 `cd` 再加上 `pwd`,巧妙地规避了 `$0` 可能不完整的问题,确保无论从哪个目录调用脚本,都能稳定地返回脚本自身所在的绝对路径。对于编写需要灵活部署、不依赖用户预配置的工具脚本来说,这个技巧非常实用。