Unix 上登录时使用什么文件?

Unix 上登录时使用什么文件?

当您登录到 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 中运行。

如果文件不存在,则跳过。

相关内容