bash环境配置:
配置文件,生效范围划分,存在两类:
全局配置:
/etc/profile, /etc/profile.d/*.sh
/etc/bashrc
我的配置:
~/.bash_profile
~/.bashrcshell
按功能划分,存在两类:
profile类:为交互式登陆的shell提供配置
/etc/profile, /etc/profile.d/*.sh
~/.bash_profilebash
功用:
(1) 定义环境变量,例如PATH、PS1
(2) 运行命令或脚本ide
bashrc类:为非交互式登陆shell提供配置
/etc/bashrc
~/.bashrc函数
功用:
(1) 定义命令别名;
(2) 定义本地变量;命令行
变量:内存空间,变量名
类型:
环境变量:做用范围当前shell进程及其子进程
本地变量:做用范围当前shell进程
局部变量:做用范围仅为当前shell进程中某代码片段(一般为函数上下文)进程
位置变量:$1, $2
特殊变量:$?内存
变量定义方式:
bash内置变量:可直接调用,内置了许多环境变量,例如PATH等
自定义变量:
变量赋值:变量名=值it
bash弱类型:
变量存储数据时,默认均采用字符形式;任何变量能够不经声明,直接引用;class
120:24bits
120: 8bits 登录
定义本地变量:
name=value
查看:set
定义环境变量:
export name=value
declare -x name=value
查看:env, printenv, export
撤消变量:
unset name
引用变量:
${name}, $name
bash中的引用符号:
'': 强引用,变量替换不会发生
"":弱引用
``: 命令引用
shell登陆类型:
交互式登陆:
直接经过终端进行的登陆;
经过su -l Username命令实现的用户切换;
非交互式登陆:
图形界面下打开的命令行窗口;
执行脚本;
su Username;
配置文件做用次序:
交互式登陆:
/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc
非交互式登陆: ~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh