我们如何配置 .cshrc 的路径

我们如何配置 .cshrc 的路径

在 shell 脚本中,我尝试打开一个新的 tcsh shell 并加载一些预定义的别名和环境变量,我不想在默认 cshrc 中使用这些变量。我也不能将它放在我的主目录中,因为这个脚本将被多个用户使用。当创建新的 xterm 或 shell 时,tcsh 将在哪些路径中查找 cshrc 文件?是否可以通过某些环境变量进行配置?

答案1

手册页

登录 shell 首先执行系统文件 /etc/csh.cshrc 和 /etc/csh.login 中的命令。然后执行用户主目录中文件中的命令:首先执行 ~/.tcshrc (+),如果未找到 ~/.tcshrc,则执行 ~/.cshrc,然后执行 ~/.history(或 histfile shell 变量的值),然后执行 ~/.login,最后执行 ~/.cshdirs(或 dirsfile shell 变量的值)(+)。shell 可能会在 /etc/csh.cshrc 之前而不是之后读取 /etc/csh.login,并且如果编译时已这样,则可能会在 ~/.tcshrc 或 ~/.cshrc 和 ~/.history 之前而不是之后读取 ~/.login;请参阅版本 shell 变量。(+)

没有环境变量参数可以改变这一点,除非是为了-f防止加载启动文件。

但是,您可以使用source命令从内部加载文件tcsh

source /etc/my-special-settings.tcsh

您还可以在用户中做类似的事~/.tcshrc

if ( $?SPECIAL_SETTINGS ) then
    source /etc/my-special-settings.tcsh
else
    source ~/.tcsh/tcshrc
endif

相关内容