在每个新 shell 上运行 shell 脚本

在每个新 shell 上运行 shell 脚本

我想在每个新 shell 启动时运行一个 shell 脚本(定义一些环境变量)(全局,而不是针对多个用户)。

因此我将脚本放入了目录/etc/profile.d/,但这只适用于登录 shell。有没有更好的地方可以放置我的脚本?

答案1

对于交互式登录 shell,正如您所发现的,您可以将命令放在位于内部的脚本中:

/etc/profile.d/

您还可以通过编辑全局配置文件以某种不太理想的方式实现此目的:

/etc/profile

对于bash(默认的交互式 shell),有一个相应的文件,你可以把要由所有交互式 shell 运行的命令放在其中。未登录贝壳:

/etc/bash.bashrc

正如/etc/profile.d/etc/profile对应~/.profile, 也/etc/bash.bashrc对应~/.bashrc

这确实不是适用于非交互式 shell。但是您不太可能希望非交互式 shell 运行命令。(那么每次运行任何脚本时它们都会运行。)

答案2

看一下

/etc/bash.bashrc

相关内容