Где установлен путь к оболочке входа для /user/games и т. д.?

Где установлен путь к оболочке входа для /user/games и т. д.?

Когда я запускаю терминал в Ubuntu, я получаю следующий путьecho $PATH

/home/myuser/anaconda3/condabin:/home/myuser/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Я хочу удалить пути с ключевым словом games из своего , но не могу найти, где задаются $PATHпути типа /usr/games, /user/local/games, ./usr/sbin

Я попробовал grepgrep xxx ~/.* -l

Это дает файлы /usr/bin, которые устанавливают /usr/local/binи т. д.

Но не для вышеупомянутых gamesи sbinпутей. Как мне узнать, откуда он установлен?

решение1

Есть несколько мест, где его можно установить. Для начала, его можно установить в одном или нескольких из следующих:

  • любой скрипт профиля оболочки (например ~/.bashrc, /etc/profile, , /etc/bash.bashrc, /etc/profile.d/*, и т.д.)
  • /etc/login.defs
  • /etc/security/pam_env.conf
  • /etc/environment
  • $HOME/.pam_environment

решение2

Если он не установлен в вашей личной среде, то он установлен для каждого пользователя. Это означает, что где-то в /etc. Перейдите /etcи выполните:

grep usr.games * */* */*/* 2> /dev/null

При установке Ubuntu это даст вам:

environment:PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
login.defs:ENV_PATH     PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
manpath.config:MANPATH_MAP      /usr/games              /usr/share/man
passwd:games:x:5:60:games:/usr/games:/usr/sbin/nologin
passwd-:games:x:5:60:games:/usr/games:/usr/sbin/nologin

Файлы passwdпредназначены для пользовательских игр, поэтому не имеют значения. manpathдля чтения руководств. Так что, если вы удалите его из environmentи login.defs, ваши игровые дни окончены.

Связанный контент