Я прочитал в нескольких местах, где PATH
установлен файл /etc/profile
или .profile
файл, находящийся в домашнем каталоге.
Это единственные места, в которых установлен путь? Я хочу лучшего понимания этого.
В /etc/profile
файле, как говорится в следующем комментарии "system-wide .profile file for the Bourne shell"
. Означает ли это, что файлы профиля являются основными файлами конфигурации для bash?
В этом файле я вообще не вижу, PATH
как устанавливается переменная. В .profile
файле в домашнем каталоге есть эта строка:
PATH="$HOME/bin:$PATH"
Это сбрасывает PATH
взгляды, потому что это объединяет уже установленную $PATH
строку с $HOME/bin:
правильным? Но если etc/profile
и ~/.profile
являются ли единственными файлами настройки, PATH
откуда $PATH
берется эта строка кода, если она не определена в /etc/profile
?
Может кто-то опытный, пожалуйста, дать широкое и подробное объяснение PATH
переменной? Благодарность!
источник
/etc/bashrc
. Это определяет, как запускается BASH, который должен включать все начальные переменные среды. В моей системе/etc/bashrc
читает из,/etc/profile.d
но звучит так, будто у вас всего 3 файла,/etc/profile.d
поэтому ваш дистрибутив может делать это по-другому.Чтобы добавить к другим ответам:
bash
будет установленоPATH
жестко заданное значение по умолчанию, если оно не установлено в среде. На компьютере с Ubuntu Server 16.04.2 я получаю:Мы можем проверить, что это значение действительно жестко запрограммировано и не считывается из среды или какого-либо файла, используя
strings
утилиту:Однако на моем компьютере с Arch Linux я получаю другой результат:
Таким образом, похоже, что это значение по умолчанию выбрано во время
bash
сборки двоичного файла, что зависит от используемой ОС / дистрибутива.источник
Вещи, которые я не вижу:
.profile
т. Д. Копируются при создании аккаунтаЧто касается Кена Томпсона, вы можете быть удивлены его: «Взгляды на Linux» .
источник