配置文件


按生效范围划分,两类:

  • 全局配置文件:/etc/profile,/etc/profile.d/*.sh,etc/bashrc

  • 个人配置文件:~/.bash_profile,~/.bashrc

 

按功能分类:两类:

  • profile类:交互式登陆(即直接通过终端进行的登陆或su - username登陆)

      /etc/profile ,/etc/profile.d/*.sh,~/.bash_profile  

      功用:1.定义环境变量,例如PATH,PS1  2.运行命令或脚本

        

  • bashrc类:非交互式登陆(图形界面下打开的命令窗口、执行脚本、su username)

      /etc/bashrc,~/.bashrc

      功用:1.定义命令别名 2.定义本地变量

 

配置文件作用次序

  • 交互式登陆:/etc/profile -> /etc/profile.d/*.sh ->~/.bash_profile -> ~/.bashrc -> /etc/bashrc

  • 非交互式登陆:~/.bashrc -> /etc/bashrc ->/etc/profile.d/*.sh

配置文件修改好如何生效?

  1.重新登陆

  2.让shell进程重新读取指定的配置文件,source 或. 这样,但会有一定的副作用

 

bash中的变量

   变量的类型:

  • 环境变量:作用范围当前shell进程及其子进程

  • 本地变量:作用范围当前shell进程

  • 局部变量:作用范围仅为当前shell进程中某代码片断(通常为函数上下文)

  • 位置变量:$1, $2

  • 特殊变量:$?

 

   变量定义方式:

  • bash内置变量:可直接调用,内置了许多环境变量,例如PATH等

  • 自定义变量:变量赋值,变量名=值

 

   bash弱类型:

   变量存储数据时,默认均采用字符形式;任何变量可以不经声明,直接引用;

 

   定义本地变量:

   name=value

   查看:set

 

   定义环境变量:

   export name=value

   declare -x name=value

 

   查看变量:env, printenv, export

   撤消变量:unset name

 

   引用变量:${name}, $name


bash中的引用符号:

   '': 强引用,变量替换不会发生

   "":弱引用

   ``: 命令引用