我需要更改正在登录的用户的问候语。所以我修改了文件/etc/profile
。在此问候语中,我需要知道该用户使用哪个 shell 并将其告诉用户。问题是,然后我在 zsh
或 csh
上更改我的 shell 它不起作用。即使我只是在这个文件中输入 echo $SHELL
它也什么都不做。正如我所想,当我使用 csh
和 zsh
时,这个文件 (/etc/profile
) 根本不运行。我该如何解决这个问题?
谢谢你,对不起我的英语)
最佳答案
您应该首先阅读系统上每个 shell 的联机帮助页。
有不同口味的 shell 。每种风格使用略有不同(每个 session 和每个 shell,每个站点和每个用户)的初始化文件。例如:
sh
(和bash
)使用/etc/profile
和~/.profile
bash
还使用~/.bash_profile
、~/.bashrc
、~/.bash_logout
<csh
使用/etc/.login
和~/.cshrc
等...
以上列表并非详尽无遗。这是为了说明您需要检查系统上使用的每个 shell 的确切行为并对其进行适当配置。
您还需要考虑是否要更改系统范围的行为(对应于 /etc
下的初始化文件)或特定于用户的行为(对应于用户主目录中的初始化文件)。
对于某些 shell,还有每个 session (即每次登录一次)和每个 shell 设置(例如每个终端窗口)。一个很好的例子是 ~/.bash_login
(每次登录执行一次)和 ~/.bashrc
(为每个 shell 执行 - 例如终端窗口)。
关于linux - 修改/etc/profile linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26136710/