我扩展了我的 Linux 用户的 bashrc 文件。此文件包含额外的别名、函数以及任何有用的东西。它与我们 100 多台服务器上的剧本同步。
当我在 Linux 上工作时,我经常升级到 sudo 用户。这很令人沮丧,因为当我升级到这个用户时,我丢失了我的 bashrc 设置。当我更改为 sudo 时,有什么方法可以保留这些设置吗?
附录:
- 我们还与多个 Linux 用户合作。每个用户都有自己的 bashrc。
- 有没有办法获取它。它需要自动完成。或者有更好的选择吗?
操作系统:红帽
答案1
您的问题是我停止在我管理的所有(客户)服务器上自定义个人环境的众多原因之一。当您因无法持续使用而感到沮丧和无助时,这种自定义就失去了其优势。
有两种不同的方法来解决这个问题:
- 整合所有团队 shell 配置文件自定义、别名和功能,并通过发布的方式让所有用户都可以使用它们,例如
/etc/profile.d/
这样做的好处是您可以创建统一的工作指令和标准化方法,并避免your_useful_shell_function
在您发现和修复错误/边缘情况/不兼容性时不同人的 ~/.bashrc 中存在多个版本而这些版本不会得到更新的情况。
要继续依赖个人环境中的自定义设置,请考虑:
- 在您的个人资料中设置适当的别名/功能,并训练自己使用它而不是
sudo -i -u root
。然后该别名或函数可以运行sudo -u root /bin/bash --rcfile ~ansible_usah/.bashrc
并确保使用您的个人 bash RC 文件而不是 root 的默认文件。(或加载不同的个人 bash rc 文件,该文件包含您默认 ~/.bashrc 中的自定义子集/超集)
答案2
你的 .bashrc 是否引用了另一个系统范围的共享文件?比如说/etc/bash.bashrc
?
如果是的话,考虑将你的定义那里和所有人将会得到它们。
如果你只想要更小拥有这些设置的用户数量,然后创建您自己的“共享”文件并从每个用户的 .bashrc 中获取该文件。