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