Действительно ли возможно узнать, какие файлы установка/добавление к переменным среды и их порядку очередности?

я решил его с помощью этого:

filename=`basename $filepath`
fileext=${filename##*.}
fileext2=${filename%.*}
fileext3=${fileext2##*.}
if [ "$fileext3" == "tar" ]; then
    fileext="tar."$fileext
fi

но эта единственная работа для известного типа архивации, в этом случае только tar

9
08.12.2010, 03:48
3 ответа

Обычно PATH установлен на начальное значение очень системно-зависимым способом программой, которая регистрирует Вас в (pam_env общий участник), затем /etc/profile и ~/.profile и файлы, которые они включают, продолжают изменять то значение.

Удалите любое изменение в PATH в .bashrc, параметры среды не принадлежат .bashrc: посмотрите Различие между .bashrc и .bash_profile.

Сначала попытайтесь войти в систему в текстовом режиме (например, с ssh localhost), поскольку запуск сессии намного более прост, чем в графическом режиме.

Поместить set -x в начале /etc/profile и ~/.profile. Оболочка распечатает трассировку того, что она делает на ее потоке стандартной погрешности; ищите присвоения на PATH в трассировке.

Нет никакого понятия приоритета к присвоениям переменной среды: кто бы ни присваивает последние победы.

6
27.01.2020, 20:06

Ваш ПУТЬ может быть установлен где угодно, не только в Вашем .bashrc файле. Скорее всего, Ваша система имеет файл, /etc/profile и/или /etc/profile.local который устанавливает путь по умолчанию для всех пользователей в Вашей системе. Пользователь определенные изменения или дополнения к нему мог бы быть установлен в Вашем .profile файл, если они не находятся в Вашем .bashrc, или можно просто использовать значение по умолчанию в системе.

Если Вы хотите, вносит изменения, которые только влияют на Вас, я вставил их Ваш .profile использование следующей формы:

export PATH=/new/directory:$PATH

таким образом, редактируя текущий путь вместо того, чтобы переписать его полностью.

Раздел "INVOCATION" man bash (или здесь), объясняет различие между .profile и .bashrc, и так далее, и который другие файлы и читают и в том, какой порядок, когда Вы входите в систему или запускаете оболочку.

6
27.01.2020, 20:06

Очень маловероятно, что механизм для этого существует. Просто думайте о том, сколько путей там состоит в том, чтобы изменить значение огибающей переменной в оболочке.

У Вас может быть некоторая удача с set -x все же.

1
27.01.2020, 20:06

Теги

Похожие вопросы