Частая проблема в настройке оболочки заключается в использовании тильды (~) в кавычках при задании переменной PATH. Когда пользователи добавляют строки вроде `export PATH="$PATH:~/.local/bin/"` в свой `.bashrc` или `.zshrc`, тильда не расширяется до домашнего каталога, а воспринимается как символ, что приводит к добавлению относительного пути `./~/.local/bin/` в переменную среды. Это происходит потому, что расширение тильды происходит только для нецитированных слов, начинающих с `~`.
Чтобы решить эту проблему, пользователи должны явно использовать переменную `$HOME`, например `export PATH="$PATH:$HOME/.local/bin/"`. Хотя вариант без кавычек `export PATH=$PATH:~/.local/bin` работает в Bash и Zsh, он хрупкий и может сломаться при введении пробелов. Проблему можно быстро диагностировать, выполнив `echo "$PATH" | grep '~'`. Если вывод содержит `~`, файлы конфигурации следует обновить, заменив `~` на `$HOME`.
Источник: Hacker News · Сводку подготовил HeadlinesBriefing