Есть ли способ установить «другую» переменную PATH? - PullRequest
0 голосов
/ 24 марта 2020

Я знаю, что если у меня есть пользовательский путь CUSTOM_PATH=/some/custom/path/, то я просто делаю export PATH=$PATH:$CUSTOM_PATH, чтобы иметь общесистемный доступ к исполняемым файлам в /some/custom/path.

Но для некоторых сложных По причинам, было бы здорово, если бы я мог определить $CUSTOM_PATH, не добавлять его к $PATH, но все равно искать его содержимое, как если бы оно было добавлено к $PATH.

Это то, что я имею в виду " другая переменная PATH: путь, который ищется как $ PATH, но определяется отдельно. Есть ли способ сделать это?

1 Ответ

0 голосов
/ 24 марта 2020

Быстрый ответ: Нет.

Если бы это было возможно, то это могло бы быть что-то вроде:

export CUSTOM_PATH=/usr/local/bin
export PATH='/usr/bin:/bin:$CUSTOM_PATH'

Это поместило бы буквальную строку "$CUSTOM_PATH" в ваш $PATH. Затем вы можете изменить значение $CUSTOM_PATH, не касаясь $PATH, и неявно обновить путь поиска вашей системы.

Но это не сработает. Соответствующие библиотечные функции (execlp и др.) Обрабатывают значение переменной окружения $PATH как разделенную двоеточиями последовательность буквенных имен каталогов. Он не выполняет никакого расширения этих имен.

Вам нужно будет просто обновить $PATH в любое время, когда вы захотите изменить путь поиска в системе. (Вы можете сохранить значение $PATH любым удобным для вас способом, включая включение значений других переменных среды.)

...