![Unix 上登录时使用什么文件?](https://linux22.com/image/1350189/Unix%20%E4%B8%8A%E7%99%BB%E5%BD%95%E6%97%B6%E4%BD%BF%E7%94%A8%E4%BB%80%E4%B9%88%E6%96%87%E4%BB%B6%EF%BC%9F.png)
当您登录到 Unix 系统的 shell 时,通常会有一些文件在您的主目录中运行。例如,您可以使用它们来设置别名和添加到您的$PATH
.
但是,我怎么知道具体是哪个文件呢?我怎么知道我需要编辑(或添加)哪个文件呢?
我正在寻找一种可以在任何 Unix 系统上使用的通用方法。假设您只需要一个 IP 地址/主机名以及用于 SSH 登录的用户名和密码。您连接并登录。现在您要做什么?
答案1
配置文件通常在每次登录时运行。系统范围的登录文件是/etc/profile
,而用户特定的文件通常是~/.profile
。一些 shell 有自己的配置文件和 rc 文件,例如 bash 有.bashrc
由非登录 bash shell 运行的配置文件和.bash_profile
由登录 bash shell 运行的配置文件。系统范围的 bashrc 是/etc/bash.bashrc
因此,你可以使用.profile
它来处理应该由登录 shell 运行的事情和.bashrc
(或等效的)应该由非登录 shell 运行的事情(别名、设置环境等)
bash 澄清:
有两种类型的 shell:登录 shell 和非登录 shell。登录 shell 是用户登录时运行的 shell。非登录 shell 是所有其他 shell。例如,当您通过ssh
控制台登录时,您获得的 shell 就是登录 shell。
bash 登录 shell 在启动时运行:
/etc/profile
- 以下第一个存在的文件:
~/.bash_profile
,,~/.bash_login
~/.profile
bash 非登录交互式 shell 在启动时运行:
/etc/bash.bashrc
~/.bashrc
在一些(大多数?)带有 bash 的 unices 中,配置文件来源~/.bashrc
,因此~/.bashrc
会在登录和非登录交互式 shell 中运行。
如果文件不存在,则跳过。