我的 ~/bin 目录中有一组相互依赖的脚本,还有一个已开发的 ~/.vim 目录,其他子目录中还有一些其他库等。我一直使用 git 对所有这些进行版本控制,并且意识到使用克隆的存储库开发和测试新旧脚本、vim 插件等可能非常容易且有用,然后使用合并将工作代码拉入我的实际主目录。
最简单的方法似乎就是更改并导出 $HOME,例如
cd ~/testing; git clone ~ home
export HOME=~/testing/home
cd ~
screen -S testing-home
# start vim, write/revise plugins, edit scripts, etc.
# test revisions
但是,由于我以前从未尝试过,我担心某些程序、环境变量等最终可能会使用我的实际主目录而不是导出的主目录。这是一个可行的策略吗?是否只有几个我应该注意的异常值?有没有更好的方法来做这种事?
答案1
问题在于,某些应用程序可能会选择忽略$HOME
并直接查询用户数据库getpwent(3)
。最安全的做法是创建一个全新的用户,然后使用su
或sudo
成为该用户,或者从另一个终端/VT 以该用户身份登录。