[英]Localization of git repo with local directory root?
我们的git repo代码集中有几个配置文件和bash脚本,它们需要设置目录路径。 它们都应从存储库所在的位置开始。 换句话说,我将我的存储库放置在/home/userMe
但将其放置在/home/userYou/code/
。
bash脚本的结构如何使得它们可以:
常用的方法是让脚本知道它们的位置 ,例如使用dir=$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)
。 这样,每个必须引用同一存储库中另一个脚本的脚本都可以通过对树的同一部分中的文件使用"${dir}/foo/bar"
样式路径和"$(dirname -- "$(dirname -- "$dir")")/foo/bar"
用于具有相同祖父母目录的文件。 这是使脚本可以从任何位置执行的必要条件(但不一定足够)。
你当然可以source
处做同样的事情库的顶层的脚本。 但是,实际上实际上更为复杂,因为每个脚本仍然必须能够相对于其自身定位该脚本,这时它可能还应该知道其自身位置。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.