/etc/skel/.bash_profile

/etc/skel/.bash_profile

Я хотел бы поместить код в файл, который при создании нового сеанса будет вызываться для всех пользователей в системе Debian.

/etc/profileзатрагивается только сеансами входа в систему.

решение1

Файл, который вызывается всеми пользователями для новых сеансов bash

Когда вы читаете главу оПризывв руководстве вы узнаете, что такого файла нет.https://linux.die.net/man/1/bash

У меня нет под рукой компьютера с Debian, но, возможно, Debian делает что-то похожее на то, что делают RHEL/CentOS: по умолчанию эти дистрибутивы развертываются как из /etc/skell a, так ~/.bash_profileи из a ~/.bashrcв домашний каталог пользователя.

При вызове bash в качестве интерактивной оболочки входа в систему необходимо ~/.bash_profileзагрузить .

/etc/skel/.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вы получите файл, который будет загружен как для обычного сеанса, так и для сеанса входа в систему.

/etc/skel/.bashrc

# .bashrc

# Source global definitions
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

# User specific aliases and functions  

~/.bashrcВ свою очередь, загрузится глобальный файл , /etc/bashrcи вы получите общесистемный файл, который загружается как для сеансов интерактивного bash с входом в систему, так и для сеансов без входа в систему.

Связанный контент