web-dev-qa-db-ja.com

Ubuntu 12.04でデフォルトでPATHがエクスポートされない

コマンドラインで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変数をすべてのユーザーにエクスポートされるように設定する必要がある場所は誰にもわかりますか?(エラーなしで以前は正常に機能していました)

1
bornfree

わたしにはできる:

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"
1
Reut Sharabani