当前位置 : 主页 > 操作系统 > centos >

Linux 环境下/etc/profile和/etc/profile.d 的区别和用法!

来源:互联网 收集:自由互联 发布时间:2022-06-20
区别: 1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效 2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/et

区别:

1. 两个文件都是设置环境变量文件的,/etc/profile是永久性的环境变量,是全局变量,/etc/profile.d/设置所有用户生效


2. /etc/profile.d/比/etc/profile好维护,不想要什么变量直接删除/etc/profile.d/下对应的shell脚本即可,不用像/etc/profile需要改动此文件


用法:

CentOS 中每个用户都要指定各自的环境变量,其中包括可执行的 path路径,这些路径决定了每个用户在执行时的命令工具。 

一般情况下,可以再每个用户的环境变量里设定各自的 path变量值,然后再执行export PATH使其生效,但如果用户比较多,安装命令工具也原来越多,且出来本身用户可以执行这些工具,root用户或其他用户也可以执行命令,这时在每个用户环境变量里添加就比较复杂了。


所以可以用另外一种方法:

可以再 /etc/profile.d/ 目录下创建一个 path.sh 脚本,脚本内容如下:

例子:

用代码格式表示内容如下:

# cat /etc/profile.d/path.sh

export PATH="/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/sbin:/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/php/sbin:/usr/local/mysql/bin:/usr/local/redis/bin:/usr/local/daemontools/bin:/usr/local/daemontools/sbin:/usr/local/percona-xtrabackup/bin"

可以将需要各个用户需要执行的命令路径都写在该命令中,这样每次操作系统其中后,会自动执行path.sh脚本,将所有的环境变量生效,让各个用户都可以直接执行各自的命令。


以后安装了新软件后,只需要将软件相关路径加入 /etc/profile.d/path.sh 脚本中,不需要再多个地方重复添加,使脚本生效后,各个用户都可以使用了。


上一篇:linux实战题
下一篇:没有了
网友评论