Я запускаю Ubuntu 12.04.1 LTS. И я не могу понять, каков порядок / приоритет загрузки файлов профиля. Когда я запускаю систему и захожу в систему через графический интерфейс, какой файл загружается? И почему? Что если запустить login-shell? Будет ли это так же? На самом деле сейчас я не могу понять, почему мой ~/.profile
не загружается при запуске системы, потому что здесь я вижу, что он должен:
https://help.ubuntu.com/community/EnvironmentVariables [ 111]
Все зависит от того, с каким пользователем вы пытаетесь войти. Глобальный файл /etc/profile
загружается для каждого пользователя , в то время как ~/.profile
загружается только для пользователя.
~
указывает на домашний каталог текущего пользователя. Итак, если вы поместите его в /home/user-a/.profile
и войдете в систему как user-a
, будет загружен как глобальный, так и его пользовательский файл (в этом порядке), тогда как, если вы войдете в систему как user-b
без файла .profile
, он загружает только глобальный.
Оба должны быть загружены, и ~ / .profile должен быть загружен последним (это означает, что он имеет приоритет).
Вы можете определить переменную в каждом файле:
ORDER=${ORDER}+"/etc/profile"
соответственно
ORDER=${ORDER}+"~/.profile"
и выполнить
echo ${ORDER}
, чтобы увидеть, что было задействовано и в каком порядке. Конечно, это не скажет вам, если были разные сценарии, которые вы пропустили.
Итак, если вы видите один упомянутый источник, прочитайте этот скрипт, чтобы посмотреть, является ли один скрипт источником другого, и включите их тоже.
На ум приходят /etc/bash.bashrc и ~ / .bashrc и ~ / .bash_login, а также вещи из /etc/default.
Это моя вина. В моем ~ / .profile был [[some_test]], и он хорошо работает в bash, но я предполагаю, что dash выполняет некоторые команды pre_session_creation / post_session_creation при запуске сеанса, а dash не знает [[ключевое слово. Таким образом, все было загружено, но остановлено на ошибке.