问题 Debian $ PATH变量


如何在Debian中更改$ PATH变量?我试着改变 /etc/profile 但这只影响了普通用户(是的,我添加了BOTH用户和root路径的路径)。

之后我尝试编辑 /root/.profile 接着 /root/.bashrc 还......

都没有奏效。你知道哪里可能有问题吗?


11632
2017-08-31 13:47


起源

这个壳是为了什么? Bash,csh其他? - arunkumar
嗯,我不确定:D我是'用'UNIX'打算'我没有从默认安装中改变它,所以它可能是什么? ...编辑:做完“echo $ SHELL”之后我输出“/ bin / bash”:) - grongor
只是一个猜测,但你在编辑后开始了新的bash吗?或者,也可以在修改后的文件(./ path / to / file或source / path / to / file)中获取源文件。 - Ahe
是的我退出了,然后又重新启动了服务器。我没有尝试源,但我现在做了,它也不起作用。顺便说一下,我说它适用于普通用户 - 它不仅影响root帐户。 - grongor
我发现了一些有趣的东西。当我回显$ PATH它输出默认的$ PATH但是当我做printenv PATH然后我得到我想要的$ PATH ... - grongor


答案:


这是在debian 6.0上的/etc/login.defs中设置的。

这些是您必须编辑的行:

# *REQUIRED*  The default PATH settings, for superuser and normal users.
#
# (they are minimal, add the rest in the shell startup files)
ENV_SUPATH      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV_PATH        PATH=/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games

编辑:

我忘了把它放在我找到解决方案的地方: https://serverfault.com/questions/166383/how-set-path-for-all-users-in-debian


15
2018-01-11 15:06



谢谢你的回复,我不会验证它,但我认为这就是我所寻找的:-) - grongor
完美的工作!太厉害了! - shrimpwagon


修改 /etc/environment 包括这样的一行:

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

1
2017-08-06 11:29





编辑你的 /etc/.profile 包括 set -vx 靠近顶部。从新窗口重新启动。那么你可以看到'。'处理文件和重置PATH的位置。

另外,确认你真的在你认为的shell中。完成所有启动脚本后,执行 echo $SHELL 并确认值=您期望的shell,最有可能 bash

我希望这有帮助。


0
2017-08-31 20:57



对不起,但它只显示/ etc / profile记录时:D没有其他改变...是的我使用/ bin / bash - grongor
这就是问题所在,如果你在heirarchy中有其他的.profiles,为什么它们不被处理。不管怎样,添加 set -vx 对他们所有人。很抱歉只是注意到你在上面的评论中确实做了回音$ SHELL。 printenv PATH很好,很有意思。我不得不考虑一下。祝你好运。 - shellter
我希望你能得到一些东西,因为我迷失了...... - grongor