非 root 可以修改环境变量吗?

非 root 可以修改环境变量吗?

非 root (没有 sudo 权限)可以运行以下命令:

export PATH=/tml:$PATH

如果是的话,它是如何工作的?

我想环境变量对于非 root 用户是只读的,而shell 变量可自由修改。

答案1

以下命令的输出应该会让您相信您可以修改环境变量。

$ grep PATH ~/.profile 
# set PATH so it includes user's private bin if it exists
    PATH=~/bin:"${PATH}"
PATH="$PATH:/usr/games"

$ ls -l ~/.profile
-rw-r--r-- 1 sudodus sudodus 632 dec 10  2010 /home/sudodus/.profile

换句话说,你不仅可以临时修改这些变量,还可以通过修改配置文件使其持久化~/.profile。你作为普通用户就可以做到这一点。


以下命令行显示设置或修改 PATH 的系统文件

sudo grep -r 'PATH=' /etc/*

您可能希望了解更多详细信息。例如,请参阅以下链接,

Unix 和 Linux:完整了解 Bash 中 PATH 变量的设置位置- 特别是 Gilles 的回答。

相关内容