一、环境变量
1.什么是环境变量
用户自定义的变量只在当前shell生效,环境变量会在当前shell和这个shell的所有子shell生效。如果把环境变量写入对应的配置文件,那么这个环境变量就会在所有shell中生效。
2.设置环境变量
声明变量:export 变量名=变量值
查询变量:env(set查看所有变量)
删除变量:unset 变量名
3.系统常见环境变量:
PATH:系统查找命令的路径
PATH变量叠加(临时生效):PATH="$PATH":/root
PS1:定义系统提示符的变量(只能用set查看)
查看环境变量的值:echo $变量名
4.环境变量配置文件
(1)运行source命令,使配置文件生效
source 配置文件 或者 . 配置文件
(2)5种配置文件
所有用户生效:/etc/profile /etc/profile.d/*.sh /etc/bashrc
当前用户生效:~/.bash_profile ~/.bashrc
二、位置参数变量
$n:n为数字,$0代表命令本身,$1-$9代表第一个到第九个参数,十个以上的参数用大括号包含,如{$10}
$*:代表命令行中所有的参数,把所有参数看成一个整体
$@:代表命令行中所有的参数,把每个参数区分对待
$#:代表命令行中所有参数的个数
shell中进行数值运算需要加$(( ))
三、预定义变量
$?:最后一次执行的命令的返回状态。0表示正确执行;非0则不正确
$$:当前进程的进程号(PID)
$!:后台运行的最后一个进程的进程号(PID)
echo $?