【发布时间】:2015-01-29 11:00:38
【问题描述】:
我最近在我的机器上设置了 Vagrant,我注意到的第一件事是当我 ssh 到我的服务器时,我的终端配置没有同步。
例如,我将 shell 从 bash 更改为 zsh,这为我做了很多美妙的事情(比如删除区分大小写的自动完成)。但是在我的 vagrant 虚拟机上,或者在我的服务器上,所有这些很酷的东西现在都消失了。像我的重要别名之类的东西也没有同步。
现在,同步此类内容的正确方法是什么?
编辑:
因此,目前,当我在本地计算机上创建/删除/编辑别名时,我必须将完全相同的更改复制到我的 VM 和我经常使用的所有其他服务器中。我认为这是一项非常耗时且不必要的任务。
【问题讨论】:
-
用户的默认 shell 由系统上的用户帐户配置控制(可以使用
chsh更改或在用户创建时设置)。 shell 行为(别名等)由 shell 初始化脚本控制,这些脚本只是您主目录中的文件(.profile、.bash_profile、.bashrc、.zshrc等)。你可以复制那些。 -
对我的问题添加了进一步的解释
-
最近的一个趋势是使用 git(或其他一些版本控制系统)来对位于一个人的主目录中的各种 rc/config 文件进行版本控制。这样可以轻松地跨机器同步。
-
有趣,您对此有什么进一步的了解吗?我对这一切完全陌生。
-
在过去的几年里,互联网上出现了许多关于这个主题的博客文章。我不知道有什么特别的副手。我自己不这样做。