ubuntu虚假环境变量

ubuntu虚假环境变量

我的 ~PATH~ 环境变量中有一个虚假路径Ubuntu

/usr/lib/lightdm/lightdm

我不知道它设置在哪里。我检查了以下文件:

/etc/environment
/etc/profile
/etc/profile.d/*
/etc/bash.bashrc
~/.bash_profile
~/.bashrc
~/.profile
~/.pam_environment

知道它还可能在哪里或者我怎样才能找到它吗?

答案1

我找不到它被设置在哪里,i 也不在 /etc/skel 中,在 /etc 中和 /home/ 中都找不到。但我找到了它被设置的原因。我也用 -x 启动了 bash 来查看发生了什么,但我唯一能看到的是

complete -F _service /etc/init.d/lightdm

我无法找到对 PATH 的引用或在那里进行设置(难怪,initscript 已转换为 upstart 作业)。但是,为了让您放心,这是 Ubuntu 中的默认行为。

答案2

值得注意的是,列表中缺少了~/.bash_profile。我建议你去那里查看一下(如果你还没有这样做的话)。

此文件并不总是存在,不存在时也没有问题。但是,如果存在,它由初始登录 shell 执行代替 .profile. (因此如果它本身不运行或source .profile.profile就根本不会运行。)

bash当然这只是。.bash_profile会被其他 shell 忽略——它是放置特定命令的好地方bash(只要您确保.profile在其中输入需要运行的代码)。

有关启动脚本的更多信息,请参阅man bash

相关内容