Таким образом, существуют записи в моем $PATH
то, что я не знаю, где они добавляются.На помощь!
Мой общий вопрос: В которых местах мой $PATH
переменная, измененная при запуске терминала? Мой конкретный вопрос, где /usr/local/games
папка представлена моему $PATH
переменная.
Что я узнал ('верят') до сих пор: в /etc/login.defs
первое определение $PATH
происходит. По умолчанию games
папки добавляются здесь, но они остаются персистентными, когда я удаляю их в этом месте. У меня есть следующие строки там:
# *REQUIRED* The default PATH settings, for superuser and normal users.
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
# ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
ENV_PATH PATH=/usr/local/bin:/usr/bin:/bin # note i removed games here
затем существует /etc/environment
который я еще не уверен, когда это играет роль и как это касается logins.defs
. Это читает
~$ cat /etc/environment
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
затем, как приятно представлено в ответах на это и этот вопрос, существует ~/.profile
и ~/.bashrc
, оба из которых я управляю очень хорошо. Последний содержит эти две строки
PATH=${PATH/":/usr/games"/""} # remove games from $PATH
PATH=${PATH/":/usr/local/games"/""}
когда прокомментированный, эти две игровых папки появляются в моем $PATH
. Так, куда эти две папки прибывают из? какие места анализируются где $Path
переменная изменяется на запуске?
По умолчанию, /etc/environment
, то, которое читается при входе в систему, включает обоих /usr/games
и /usr/local/games
. Таким образом, похоже на редактирование того файла также который должен быть достаточен отбросить те каталоги. Неясно мне, почему необходимо было бы включить ~/.profile
и/или ~/.bashrc
для цели.
Править:
Вышеупомянутое на основе того, как оно работает над стандартной Ubuntu. Возможно, что установка по умолчанию WSL немного отличается.