Это потому, что /etc/profile.d/ используется только интерактивной оболочкой входа в систему. Однако /etc/bash.bashrc
используется интерактивной оболочкой без регистрации.
Поскольку я обычно устанавливаю некоторые глобальные псевдонимы для системы, я начал создавать /etc/bashrc.d
где я могу удалить файл с некоторыми глобальными псевдонимами:
HAVE_BASHRC_D=`cat /etc/bash.bashrc | grep -F '/etc/bashrc.d' | wc -l`
if [ ! -d /etc/bashrc.d ]; then
mkdir -p /etc/bashrc.d
fi
if [ "$HAVE_BASHRC_D" == "0" ]; then
echo "Setting up bash aliases"
(cat <<-'EOF'
if [ -d /etc/bashrc.d ]; then
for i in /etc/bashrc.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
EOF
) >> /etc/bash.bashrc
fi