预定义变量
- $? -> 指上一次命令是否正确执行,是否产生错误
- $?的值为0,表示上一次命令正确执行,非0,表示执行错误
- $_ -> 上一条命令的最后一个参数
- mkdir somedir && cd $
- $$ -> 当前进程的pid
- echo $$ -> 显示当前进程的pid
-
位置变量
$1 $2 … $9 ${10}…
-
环境变量
定义
环境变量:每个shell终端打开都可以访问到的变量
- env -> 查看所有的环境变量
- echo $环境变量名 -> 查看某个单独的环境变量
- /etc/profile
- /etc/bashrc
- ~/.bash_profile
- ~/.bashrc
注:etc下的文件是给所有用户通用的,家目录下的文件只对当前用户生效
执行顺序
如果这些文件里变量名有重复,后加载的会覆盖先加载的
- login-shell
- 四个配置文件都会加载:/etc/profile -> ~/.bash_profile -> ~/.bashrc -> /etc/bashrc
- nologin-shell
- 配置文件加载不全: ~/.bashrc -> /etc/bashrc
