使用sudo -i 切换用户后,全局变量会刷新
时间: 2023-05-30 19:07:25 浏览: 159
是的,当使用sudo -i切换用户时,当前用户的环境变量和全局变量会被刷新,变成新用户的环境变量和全局变量。这是因为sudo -i会启动一个新的shell,以新用户的身份运行。如果需要保留原来用户的环境变量和全局变量,可以使用sudo -s命令。
相关问题
使用sudo -i 切换用户后,如何让全局变量不在刷新,并永久保持?
如果使用sudo -i切换用户后,全局变量在刷新并且不能永久保持,可以尝试使用以下方法:
1. 将全局变量添加到/etc/profile文件中。这个文件是系统启动时自动加载的,所以添加到这个文件中的变量将在每次登录时都被加载。
2. 将全局变量添加到~/.bashrc文件中。这个文件是当前用户登录时自动加载的,所以添加到这个文件中的变量将在每次登录后都被加载。
3. 将全局变量添加到/etc/environment文件中。这个文件是系统启动时自动加载的,并且所有用户都可以访问它,所以添加到这个文件中的变量将在全局范围内保持。
注意:修改这些文件需要使用root权限。
Linux在etc目录改了环境变量怎么才生效
在Linux系统中,修改/etc目录下的环境变量通常涉及到系统的全局配置,比如修改`/etc/profile`、`.bashrc`(如果使用Bash shell)或`/etc/environment`等文件。如果你想让更改立即生效,你可以按照以下步骤操作:
1. 打开终端并切换到root权限,因为编辑这些文件可能需要管理员权限(`sudo -i` 或 `su`,然后输入密码)。
2. 使用文本编辑器打开相应的配置文件,例如:
```
nano /etc/profile
```
3. 找到你要修改的环境变量行,通常是类似这样的格式:
```bash
export VARIABLE_NAME="new_value"
```
如果你添加新的变量,也需要加上这行。
4. 保存并关闭编辑器。对于`nano`,按`Ctrl+X`,然后按`Y`确认保存,再按回车键退出。
5. 刷新环境变量使其生效。如果你是在命令行中直接编辑的,可以运行:
```
source /etc/profile
```
如果是bash shell用户,可能还需要执行:
```
. ~/.bashrc
```
6. 检查新设置是否生效,可以使用`echo $VARIABLE_NAME`命令查看变量值。
注意:某些变化可能需要重启shell或整个系统才能完全生效,特别是对系统级别的环境变量。
阅读全文