Переменная среды $PATH, кажется, не распознана

Можно также использовать поиск пакета Debian онлайн, чтобы сделать то же самое, которое может обеспечить другой результат, если Вы не обновили свой локальный кэш пакета в некоторое время.

Тем не менее похоже, что никакой пакет в конюшне не обеспечивает /etc/environment, и поиск oldstable (сжатие) приводит к тому же результату.

Если это помогает в моей системе (и я не вспоминаю внесение никаких корректировок в тот файл), это существует, но пусто, просто и просто. 0 байтов, режим 0644, mtime 27.03.2010 17:08:01 UTC и никакой birthtime (потому что ext3 не делает файла birthtimes).

3
08.09.2014, 00:42
1 ответ

В команде shell типа

PATH=~/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

тильда расширяется в вашу домашнюю директорию, когда команда shell выполняется. Таким образом, результирующее значение PATH имеет вид . /home/theconjuring/bin:/opt/texbin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games.

Убедитесь, что тильда не заключена в кавычки (PATH="~/bin:..."), иначе она стоит сама за себя. Чтобы подготовить каталог к текущему значению PATH, можно использовать

PATH=~/bin:$PATH

В общем, в оболочках, отличных от zsh, $PATH за пределами двойных кавычек разбивается, когда значение содержит пробелы или другие специальные символы, но в присваивании это безопасно. С помощью export, однако, вам нужно записать export PATH=~/bin: "$PATH" (хотя вам не нужно export с PATH, так как он уже в окружении). В zsh, вам не нужны двойные кавычки, кроме случаев, когда переменная может быть пустой, но если вы установите PATH в .profile, то она будет обработана с помощью /bin/sh или /bin/bash.

Если вы устанавливаете PATH в ~/.pam_environment, однако, вы не можете использовать ~ или $HOME в качестве подставки для вашего домашнего каталога. Этот файл не анализируется оболочкой, это простой список строк NAME=значение. Поэтому вам нужно записать пути полностью.

7
27.01.2020, 21:12

Теги

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