日期: 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变量下的路径