Я хотел бы поместить код в файл, который при создании нового сеанса вызывается для всех пользователей системы Debian.
/etc/profile
затрагивается только сеансами входа в систему.
Файл, который запускается всеми пользователями для новых сеансов bash
Когда вы читаете главу о Призыв в мануале вы узнаете, что такого файла нет. https://linux.die.net/man/1/bash
У меня нет под рукой Debian, но возможно, что Debian делает что-то похожее на то, что делают RHEL / CentOS: по умолчанию эти дистрибутивы развертываются из /etc/skell
как ~/.bash_profile
и ~/.bashrc
в домашний каталог пользователя.
Когда bash вызывается как интерактивная оболочка входа, ~/.bash_profile
должен быть загружен.
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs
При запуске интерактивной оболочки, которая не является оболочкой входа в систему, bash читает и выполняет команды из ~/.bashrc
Загрузив ~/.bashrc
из ~/.bash_profile
вы получите файл, который будет загружен как для обычного сеанса, так и для сеанса входа в систему.
# .bashrc
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi
# User specific aliases and functions
В ~/.bashrc
в свою очередь загрузит глобальные /etc/bashrc
и вы получаете общесистемный файл, который загружается как для входа в систему, так и для интерактивных сеансов bash без входа.