コマンドラインでsuを実行し、rootパスワードを入力すると、次のようにエラーが発生します。
コマンド「lesspipe」は次の場所で利用可能です
/ bin/lesspipe
/ usr/bin/lesspipe
'/ usr/bin:/ bin'がPATH環境変数に含まれていないため、コマンドが見つかりませんでした。
lesspipe:コマンドが見つかりません
コマンド「dircolors」は「/ usr/bin/dircolors」で利用可能です
'/ usr/bin'がPATH環境変数に含まれていないため、コマンドが見つかりませんでした。
以前はデフォルトで動作していたPATH変数を手動でエクスポートする必要があります。
次に、bashrcでPATH変数を設定します
PATH = "/ usr/local/sbin:/ usr/local/bin:/ usr/sbin:/ usr/bin:/ sbin:/ bin:/ usr/games"
さて、suを実行するたびに、次のようになります。
bash:groups:コマンドが見つかりません。
ただし、タブグループコマンドを実行でき、PATH変数も設定されます。 PATH変数をすべてのユーザーにエクスポートされるように設定する必要がある場所は誰にもわかりますか?(エラーなしで以前は正常に機能していました)
わたしにはできる:
reut@HP-EliteBook-8470p:~$ which lesspipe
/usr/bin/lesspipe
とにかく修正する方法?
短い答え-次の行が/etc/environment
にあることを確認してください:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/your/specific/folder"
最後のフォルダーは、追加する特定のフォルダーです。あなたが言及したフォルダは、実際には(変更しない限り)デフォルトでPATH
の一部です。
extendしたい場合は、PATH
:
# extend perserving old path (locations are prioritized by order)
PATH=$PATH:/some/folder
export PATH
このコードを~/.bashrc
に追加して、具体的に利用できるようにすることができます。
/some/folder
を/etc/environment
で説明した行に追加して、すべての人が利用できるようにすることもできます。
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/some/folder"