解决Linux环境变量每次要source /etc/profile问题

Linux的profile与权限相关问题

问题:

在/etc/profile中添加环境变量后,是使用source /etc/profile编译后只能在当前终端生效;重新开启一个终端后,该环境变量失效。

每次使用交叉编译链之前都要进行source /etc/profile才能进行编译

解决方法

使用su - root进入系统instead of su问题解决;

因为设置的环境变量,并没有真正生效,只是使用source 命令让临时运行而已。

原理上解析Linux中sudo,su与su -的异同

在linux系统中,由于root的权限过大,一般情况都不使用它。只有在一些特殊情况下才采用登录root执行管理任务,一般情况下临时使用root权限多采用su和sudo命令。


su - 命令(切换工作目录):

su -,su -l或su –login 命令改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,LOGNAME。此外,也会变更PATH变量。用su -命令则默认转换成成root用户了。

su 命令:

su为switch user,即切换用户的简写。

格式为两种:

su -l username(-l为login,即登陆的简写)

su username

如果不指定username(用户名),默认即为root,所以切换到root的身份的命令即为:su -root或su -,su root 或su。

su username,与su - username的不同之处如下:

su - username切换用户后,同时切换到新用户的工作环境中。

su username切换用户后,不改变原用户的工作目录,及其他环境变量目录。


解决Linux环境变量每次要source /etc/profile问题
http://wahoyu.xyz/2022/06/03/解决Linux环境变量每次要source-etc-profile问题/
作者
Wahoyu
发布于
2022年6月3日
许可协议