日期: 2015年08月30日


bash的配置文件

bash的配置文件用来配置bash的使用环境,在系统中保存这诸多事先定义好的变量

bash的环境变量常见的有:

PATH:命令搜索路径

HISTFILE:命令历史的保存位置

SHELL:当前用户使用的

HOME:当前用户的家目录


变量的类型:

本地变量:只对当前shell进程有效,对其子shell以及其它shell都无效;

定义变量: [set]Var_Name="Value"

引用变量: ${Var_Name}

撤销变量: unset Var_Name


局部变量:仅对局部代码生效

local Var_Name="Value"


环境变量:对当shell进程及其子shell有效;

export Var_Name="Value"


位置变量:

$1, ..., $n

./first.sh 2 8


特殊变量:

$0: 脚本名称自身

$?: 上一条命令的执行状态;

状态用数字来表示:0-255;

0: 成功

1-255: 失败 (1、2、127 是系统预留的)

$$

$!

$#

$*


变量的命名要求:

只能使用数字、字母和下划线组成;

不能以数字开头;

不能使用程序中的关键字;

见名知义;totalWeight



查看系统上的变量:

set :显示当前Bash上所有变量

显示所有环境变量:export, env, printenv



环境配置文件分为两类:

profile类:为交互式登录的用户提供配置

/etc/profile:全局

/etc/profile.d/*.sh:全局

~/.bash_profile:个人配置,仅对当前用户有效

功用:

设定环境变量

运行命令或脚本


bashrc类:非交互工登录用户提供配置

/etc/bashrc: 全局

~/.bashrc: 个人配置

功用:

设定本地变量

定义命令别名



SHELL的类型:

交互式登录shell:

直接通过终端输入用户信息登录系统

su - USERNAME

su -l USERNAME

 

非交互式登录shell:

su USERNAME

图形终端下打开命令窗口

自动执行的shell脚本

 

交互式登录shell,配置文件及次序:

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

 

非交互式登录shell,配置文件及次序:

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

 

 

新增配置的生效方式:

1、重新登录

2、通知shell重读配置文件的命令:

source (.)

.  FILE

 

实例:

//追加PAHT变量下的路径

bash的环境变量配置文件_变量