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用户生效的脚本

[[email protected]~]#vim .bash_profile
echo -e "\033[31m--------If you are not root, Proceed with caution.----------\033[0m"
[[email protected]~]#su root    # 非交互式登陆,没有重读.bash_profile
[[email protected] ~]# exit
exit
[[email protected]~]#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)。

时间: 2024-11-25 13:31:25

Bash的配置文件的相关文章

12、自学——Linux的学习进度与任务【bash的配置文件】

bash的配置文件 bash的配置文件: 持久保存用户配置 profile类:为交互式登录的用户提供配置 /etc/profile 全局 /etc/profile.d/*.sh 全局 ~/.bash_profile 个人配置,仅对当前用户有效 功能: 设定环境变量 用来实现运行命令或者脚本 如何读取配置文件: /etc/profile -->/etc/profile.d/*.sh -->~/.bash_profile-->~/.bashrc -->/etc/bashrc bashr

Linux基础(8)关于bash的配置文件

shell的类型除了图形shell和命令行shell之外,从登陆者的角度又可以划分为登陆式shell以及非登录式shell. 登录式shell:  三种情况 1.正常通过某个终端登陆的shell 2.su - username 3.su -l username 非登录式shell: 1.su username 2.图形终端下打开的命令行窗口 3.自动执行的shell脚本 对于我们最常用的bash的许多特性是由配置文件决定的.bash的配置文件分为两种:全局配置,个人配置 1.全局配置文件 /et

关于bash的配置文件加载

bash的配置文件分为两类全局配置 /etc/profile  /etc/profile.d/*.sh  /etc/bashrc个人配置 ~/.bash_profile  ~/.bashrc profile类的配置:设定环境变量:运行命令或脚本bashrc类的配置:设定本地变量:定义命令别名 登录式shell如何读取配置文件 (通过本地命令行或远程终端登录:su - username)/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profil

菜鸟学Linux - bash的配置文件

bash是各大Linux发行版都支持的shell.当我们登陆bash的时候,虽然我们什么都没做,但是我们已经可以在bash中调用各种各样的环境变量了.这是因为,系统中已经定义了一系列的配置文件,以及加载这些配置文件的规则.下面通过CentOS举例说明.在这之前,我们需要了解两个概念:login shell与non-login shell.很明显,这二者的区别在于需不需要login,同时这两种shell加载配置文件的规则也不相同. login shell:通俗的讲,当我们登陆shell时,需要输入

9_Shell语言———bash的配置文件

不同的使用者对程序的需求不同,这就决定了要为用户提供配置环境的接口.通常情况下这类配置使用环境的文件是文本文件,常见的有xml,json,soap等. bash的配置文件用来配置bash的使用环境.前文中提过,查看环境变量的命令有:printenv.export.set.env等.bash的环境变量常见的有:PATH: 命令搜索路径:HISTFILE:命令历史的保存位置:SHELL:当前用户使用的shell:HOME:当前用户的家目录. 在打开终端后,我们能看见命令提示符前面的字符串:[[ema

bash的配置文件(linux学习之八)

一.什么是shell 广义的shell指,能够操作应用程序的接口都成为shell,(包括linux和windows的图形界面) 狭义的shell指,命令行方面的程序,包括zsh,bash,csh,等等 查看当前系统的可用shell,文件/etc/shells 中所列的shell,称为当前系统上安全的shell列表.默认shell如果非文件/etc/shells中的shell,很可能拒绝登入系统. [[email protected] ~]# cat /etc/shells  /bin/sh /b

Bash环境配置文件

一.环境配置文件读取优先级 其中~/.bash_profile,~/.bash_login,~/.profile三个文件只有一个有效,查找优先级从左至右降低.bash会一直检查是否有~/.bashrc,一旦发现有就立即执行.在ubuntu 10.04中, /etc/profile存在,用户主目录下有.bashrc文件. 二.环境配置文件简介 1./etc/profile 由系统管理程序建立的一个全系统(sytstem-wide)的初始化文件,Shell提示符出现在屏幕上之前,该文件就被读取了.功

linux shell编程之bash 常见配置文件

先说一个命令: source +  配置文件 或者 . (点) 配置文件 source 强制性配置文件生效 主要环境变量的文件: 优先级: 其他配置文件:

bash的配置文件总结

配置文件的作用--持久保存用户配置 profile类:为交互式登录的用户提供配置 /etc/profile:全局 /etc/profile.d/*.sh:全局 ~/.bash_profile:个人配置,仅对当前用户有效 功能:设定环境变量 运行命令或脚本 bashrc类:非交互工登录用户提供配置 /etc/bashrc: 全局 ~/.bashrc: 个人配置 功能:设定本地变量 定义命令别名 登录类型: 交互式登录: 直接通过终端输入用户信息登录系统: su - UserName或su -l U