Ubuntu 12.04 中默认不导出 PATH

Ubuntu 12.04 中默认不导出 PATH

当我在命令行上运行 su 并输入 root 密码时,出现如下错误:

命令‘lesspipe’可在以下位置使用

  • /bin/lesspipe

  • /usr/bin/lesspipe

无法找到该命令,因为 PATH 环境变量中不包含“/usr/bin:/bin”。

lesspipe:未找到命令

命令“dircolors”在“/usr/bin/dircolors”中可用

无法找到该命令,因为 PATH 环境变量中不包含“/usr/bin”。

我必须手动导出以前默认工作的 PATH 变量。

然后我在 bashrc 中设置 PATH 变量

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games"

现在,每当我运行 su 时,我都会得到这个:

bash:组:未找到命令。

但是,我可以使用 tab 组命令,并且 PATH 变量也已设置。有谁知道应该在哪里设置 PATH 变量,以便将其导出给所有用户?(之前它运行良好,没有任何错误)

答案1

这个对我有用:

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默认的一部分(除非你改变了它)。

如果你想延长你的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"

相关内容