如何更改 Debian 中的 $PATH 变量?我尝试更改
/etc/profile
但这仅影响普通用户(是的,我添加了用户路径和根路径的路径)。
之后我尝试编辑
/root/.profile
然后/root/.bashrc
也...
都不起作用。你知道哪里可能有问题吗?
这是在 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
修改
/etc/environment
以包含如下行:
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
如果您使用图形显示管理器/GUI(又名不仅仅是 shell 或终端),更改
/etc/profile
、~/.bashrc
或其他文件不会更改 PATH 变量。
在这种情况下,您必须创建文件:
~/.xsessionrc
文件并添加如下内容:
export PATH="$PATH:/sbin"
(取决于你要添加的路径)
了解更多信息:https://wiki.debian.org/EnvironmentVariables
注意 Debian 10,如果您得到
command not found
:,请先查看此解决方案
su - root
而不是su root
https://unix.stackexchange.com/questions/482569/debian-10-buster-update-grub-command-not-found
对我来说简单的方法是创建包含内容的文件 /etc/default/su
ALWAYS_SET_PATH yes
所以我不必直接干预系统文件。
我正在开发这个 Debian 版本;
yuandre-server@yuandre-server:/usr/sbin$ uname -a
Linux yuandre-server 6.1.0-21-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.90-1 (2024-05-03) x86_64 GNU/Linux
创建此文件;
sudo vim ~/.bashrc
并将此行添加到文件末尾;
export PATH="$PATH:<what_do_you_add>"
此配置适用于所有用户。
您也可以将它们作为单个命令执行;
sudo echo 'export PATH="$PATH:<what_do_you_add>"' >> ~/.bashrc && source ~/.bashrc && cat ~/.bashrc | grep PATH
此
source ~/.bashrc
命令将重新加载您的 shell 会话。