当您登录到 Unix 系统上的 shell 时,通常会在您的主目录中运行一些文件。例如,您可以使用这些来设置别名和添加到您的$PATH.
但是,我怎么知道到底是哪个文件呢?我如何确定我需要编辑(或添加)哪个文件?
我追求的是一种可以在任何 Unix 系统上使用的通用方法。假设您必须从 IP 地址/主机名以及用于 SSH 登录的用户名和密码开始。您连接并登录。现在你做什么?
配置文件通常在每次登录时运行。系统范围的登录文件是/etc/profile,用户特定的文件通常是~/.profile. 一些 shell 有自己的配置文件和 rc 文件,例如 bash.bashrc由非登录 bash shell.bash_profile运行,由登录 bash shell 运行。系统范围的 bashrc 是/etc/bash.bashrc
因此,您将.profile用于应由登录 shell 运行的事物和.bashrc(或等效的)应由非登录 shell 运行的事物(别名、设置 env 等)
bash澄清:
有两种shell:登录和非登录shell。登录 shell 是用户登录时运行的 shell。非登录 shell 是所有其他 shell。例如,当您通过ssh或在控制台上登录时,您获得的 shell 是一个登录 shell。
bash 登录 shell 在启动时运行:
/etc/profile~/.bash_profile, ~/.bash_login,~/.profilebash 非登录交互式 shell 在启动时运行:
/etc/bash.bashrc~/.bashrc在 bash 附带的一些(大多数?) unices 中,配置文件源~/.bashrc,因此~/.bashrc为登录和非登录交互式 shell 运行。
如果文件不存在,则跳过它。
| 归档时间: |
|
| 查看次数: |
3482 次 |
| 最近记录: |