一、相关认识说明
在openEuler系统下以源码编译方式安装某项程序/服务后跟yum/dnf install方式安装不一样,通常未配置环境变量,当我们在全局环境下输入该服务的命令,经常会遇到 -bash: xxxx: command not found这样的错误。
网上一般会叫我们去编辑 /etc/profile这个文件,添加环境变量。虽然这个做法没有错,但是这个文件非常重要,新手操作的时候一不小心错误删除了一个符号一个字母什么的,可能系统就无法正常工作了。
最稳妥的做法是在/etc/profile.d目录下新建一个.sh文件,把需要添加的全局变量放进去。
二、配置环境变量方法
2.1方式一:直接编辑 /etc/profile
vim /etc/profile
#在文档最后新增
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
#保存退出
source /etc/profie #使之生效
2.1方式二:【推荐】最稳妥的做法是在/etc/profile.d目录下新建一个.sh文件,把需要添加的全局变量放进去
vim /etc/profile.d/mysql.sh
#添加如下内容
MYSQL_HOME=/usr/local/mysql
export PATH=$PATH:$MYSQL_HOME/bin
#保存退出
source /etc/profile #使之生效
【知识扩展】
/etc/profile.d/下面的脚本可以使环境变量生效,是因为
/etc/profile文件中的这段
for i in /etc/profile.d/*.sh /etc/profile.d/sh.local ; do
if [ -r “
i
"
]
;
t
h
e
n
i
f
[
"
i" ]; then if [ "
i"];thenif["{-#*i}” != “
−
"
]
;
t
h
e
n
.
"
-" ]; then . "
−"];then."i”
else
. “$i” >/dev/null
fi
fi
done
至于推荐环境变量配置使用/etc/profile.d/是因为耦合性低,只需更改自己的脚本,增加或者删除就可以使环境变量发生改变,不影响系统文件。