我想在每个新 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