今天,我决定在存储库中管理和推送我的点文件。其动机是在多台mac机器和ubuntu服务器机器上重用相同的点文件。
我现在想到了这个结构:
├── bash
│ ├── aliases
│ ├── config
│ └── env
├── bash_profile
├── bashrc
├── hgrc
├── src
│ └── link.py
└── vimrclink.py运行并为bashrc和bash_profile创建从~到任何地方的符号链接--这个存储库被克隆到哪里。
问题: 1
我的bashrc内容:
source bash/env
source bash/config
source bash/aliases问题在于路径是相对的,文件是找不到的。我不想使用绝对路径,因为这样我就失去了在任何我喜欢的地方克隆存储库的灵活性。
类似地,我的bash_profile内容:
source ./bashrc # same problem!
source ~/.bashrc 因为我以前将~/.bashrc链接到dotfiles/bashrc,所以我可以到达它。但我还是觉得这是个肮脏的黑客。
问题: 2
我应该在哪里保留我的路径,这是对特定机器的习惯。当然,我不想把它们放在存储库中,也不想搞乱所有其他的系统。目前,我的自定义路径在~/.profile中。我正在考虑用一个bash/env来检查它是否存在,然后使用它,否则不使用它。
想听听更好的方法
发布于 2011-07-13 05:26:41
由于我在这里没有得到多少响应,所以我求助于将我的src/link.py扩展到符号链接~/.bash到dotfiles/bash,以便我可以使用~/.bash/*到达bash/*。
我还在我的link.py中添加了一个忽略列表,以忽略.hg,bin目录,以便在执行os.listdir()时不对它们进行符号链接。
我仍然在为我的第二个问题寻找一个解决方案,尽管我在某个地方读到,对于每台有特定定制需求的机器,我可以使用不同的分支来处理我的dotfile,而且它似乎是目前最接近清洁的解决方案。
发布于 2011-07-12 18:15:47
我用的是符号链接,而不是把它当作“肮脏的黑客”。以前,我只是简单地复制所有文件(并且仍然对某些文件(不是bash)执行此操作),而且由于所有文件都是用于$HOME /.,所以我使用了"$HOME“(不是'~',因为'~‘不是用双引号展开的,而是$HOME是的。)
https://stackoverflow.com/questions/6668119
复制相似问题