ubuntu: отсутствуют profile.d и .bash_profile

ubuntu: отсутствуют profile.d и .bash_profile

Я немного почитал о запуске Linux и т. д. и заметил, что в моем домашнем каталоге нет папки profile.d:

/home/user/profile.d/ # Doesn't exists

и ни файл .bash_profile:

/home/user/.bash_profile # Doesn't exists

Для этого есть причина?

Ubuntu 15.04, гном

решение1

Короткий ответ:это нормально, так что.

Существует множество файлов инициализации пользователя, поскольку пользователь может решить войти в учетную запись компьютера многими различными способами, с консоли, с интерактивной или неинтерактивной оболочкой, с различными типами оболочек. Это не прерогатива всех пользователей, но с необходимостью поддерживатьОбратная совместимостьон закончил усложнятьнемноговещи. :-)

  • Каталогprofile.d не должен находиться в вашем домашнем каталоге:
    /etc/profile.dсодержит скрипты с файлами запуска, специфичными для приложений, которые также выполняются во время запуска оболочкой. Это каталог, действительный для всех пользователей, для этого он создается под путем /etc/, а не под домашним каталогом каждого отдельного пользователя.

  • Файл ~/.bash_profileявляется одним из персональных файлов инициализации и, если он существует, хранится в домашнем каталоге каждого пользователя.Но его существование не является необходимым.Он должен содержать специфичные для bash команды, которые следует запускать при запуске оболочки входа в систему (их ~/.profileможно читать и из других оболочек, которые обычно понимают синтаксис, отличный от синтаксиса bash).


Читать далее из INVOCATIONразделаman bash

Когда bash вызывается как интерактивная оболочка входа (...)сначала он считывает и выполняет команды из файла/etc/profile, если этот файл существует.
После прочтения этого файла он ищет ~/.bash_profile, ~/.bash_login, и ~/.profile,в этой последовательности,и читает и выполняет команды из первой существующей и доступной для чтения.

Таким образом, если у вас есть ~/.bash_profileфайл, он не будет прочитан ~/.profile, если не вызван (или не получен) из одного из других файлов.

Обратите внимание, что

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

Из какой-то версии Ubuntu 12 (и наверняка из 13.10) в .profileисходном коде взят ~/.bashrc.

Это может привести к неожиданному поведению при запуске оболочек входа в систему (например, при sshвходе в систему), когда пользователь не ожидает доступа к ~/.bashrcисточнику.

Ссылка:

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