![非 root 可以修改环境变量吗?](https://linux22.com/image/940838/%E9%9D%9E%20root%20%E5%8F%AF%E4%BB%A5%E4%BF%AE%E6%94%B9%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E5%90%97%EF%BC%9F.png)
非 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 的回答。