码迷,mamicode.com
首页 > 其他好文 > 详细

Bash的配置文件

时间:2016-08-29 00:25:19      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:环境变量   bash   二进制文件   

    在linux中,shell中的bash的配置文件分为俩类:profile类和bashrc类,他们分别定义了bash工作的一些特性。

    按功能划分:

    profile类:

       --->  /etc/profile  /etc/profile.d./sh ~/.bash_profile

       用于定义环境变量

       开机执行的脚本

    bashrc类       

       --->  /etc/bashrc  ~/.bashrc       

       用于定义本地变量 

       命令别和名函数

    当然,这只是使用中默认的规则定义,也完全可以不这样安排。



    

    有时候,我们需要设定某些特定给某些用户,而不是对全部用户生效,所以这些文件也就分为了全局配置和个人配置

    按生效范围划分:

    全局配置:

        /etc/profile

        /etc/profile.d/*.sh

        /etc/bashrc

 个人配置:

        ~/.bash_profile

        ~/.bashrc



   

    这些配置文件在我们登陆的时候会重读,但是登陆的方式不同,其读取的文件的也不尽相同  

        交互式登录:

        (1)直接通过终端输入账号密码登录;

        (2)使用“su-UserName”切换的用户

        执行顺序:

        /etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile--> ~/.bashrc--> /etc/bashrc

        非交互式登录:

        (1)suUserName

        (2)图形界面下打开的终端

        (3)执行脚本

        执行顺序:

        ~/.bashrc--> /etc/bashrc--> /etc/profile.d/*.sh



    

    从上面可以看出,非交互式登陆系统时,是不会读取/etc/profile和~/bash_profile这俩个配置文件的,所以定义在其中的特性也不会生效。

当然,这些配置文件如果不想通过登陆的方式来使其生效,也可以通过source FILE或者. FILE的方式来重读,文件也会生效。




示例:

1、既然profile类文件定义了命令脚本,那么我们在/etc/.bash_profile中写一个仅对root用户生效的脚本

[root@centos7~]#vim .bash_profile
echo -e "\033[31m--------If you are not root, Proceed with caution.----------\033[0m"
[root@centos7~]#su root    # 非交互式登陆,没有重读.bash_profile
[root@localhost ~]# exit
exit
[root@centos7~]#su - root    # 交互式登陆,读取
Last login: Sun Aug 28 15:51:53 CST 2016 on pts/0
--------If you are not root, Proceed with caution.----------    #验证

2、linux下任何一个二进制文件要想运行都必须在一个路径下,不管是./COMMAND或者写在了PATH变量之中后,直接执行COMMAND。所以新安装的程序,要使用其二进制文件,要么在其指定路径下执行,要么将其路径卸载PATH环境变量中(/etc/profil、/etc/profile.d/*.sh、~/.bash_profile)。

本文出自 “IT-Home” 博客,请务必保留此出处http://dmwing.blog.51cto.com/11607397/1843538

Bash的配置文件

标签:环境变量   bash   二进制文件   

原文地址:http://dmwing.blog.51cto.com/11607397/1843538

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!