Eu tenho gerado centenas de centos nos últimos 6 meses, aprimorando-os de algumas maneiras, e nunca vi o que você descreve. Como o dito Thomas, por padrão, o /root/.bashrc não chama scripts de / source em /etc/profile.d.
EDITAR: Na verdade, /root/.bashrc DOES source /etc/prodile.d/*, por / etc / bashrc, e previne os ecos:
# Only display echos from profile.d scripts if we are no login shell
# and interactive - otherwise just process them to set envvars
for i in /etc/profile.d/*.sh; do
if [ -r "$i" ]; then
if [ "$PS1" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
Acho que meus problemas recentes eram diferentes, o que eu tive que resolvê-los rapidamente e não gostei o suficiente. Minhas desculpas.
RESPOSTA ANTIGA
1 / Eu acho que realmente não é um bug (o que ISO você conseguiu para o seu centos 7? Você md5sum-lo? Fazendo essa pergunta soa realmente estranho para mim)
2 / e, em seguida, não há solução alternativa, mas removendo o código que faz os scripts de origem duas vezes?
/etc/profiles.d parece ser o lugar certo para colocar alguns scripts, se eles estiverem "silenciosos", significando definir algumas variáveis de ambiente, mas não fazer echo ou chamar algum traço dinâmico, ou interagir de algumas maneiras ruins algum ponto, com outros scripts que você executará (adquiriu a experiência com a instalação do netdata ultimamente).
Alguns pontos interessantes para ler em unix.stackexchange.