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
grepで試してみたgrep xxx ~/.* -l
/usr/bin
これにより、などを設定するファイルが提供されます/usr/local/bin
。
しかし、上記のパスについてはそうではありませんgames
。sbin
どこに設定されているかをどのように見つければよいですか?
答え1
設定できる場所はいくつかあります。まず、次の 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
、ゲームを楽しむ日々は終わります。