在/etc/profile中添加环境变量时,遇到了一点问题,在此记录。
以下下操作大概复现了所出的问题。
1. 普通用户登录系统,切换到root,在/etc/profile中添加环境变量MYENV=abc
2. 直接打印环境变量,#echo $MYENV,输出为空
3. 执行#source /etc/profile后,打印#echo$MYENV,输出abc
4. 打开新的终端,此时为普通用户,打印环境变量#echo $MYENV,结果为空
5. 重启系统,普通用户登录,打开终端,#echo $MYENV依然为空
6. 使用普通用户登录,su - think ,$echo $MYENV,输出abc
7. 写一个脚本,其中有echo $MYENV。执行这个脚本,这条输出为空
8. 切换到root,,$su - ,打印MYENV可得到abc,但是执行脚本,依然输出为空
很奇怪,明明可以打印出环境变量,但是脚本却不能正确执行。这里提一些上述操作涉及到的一些东西。
su只是切换了身份,但是环境变量依然为原用户的环境变量。使用su - 可以将环境变量也改变。
在图形界面环境下,打开终