Shell
shell变量
定义变量的规则
- 变量名可以由字母、数字下划线组成,不能以数字开头。
- 等号两边不能有空格
- 变量名一般习惯为大写
将命令的返回值赋值给变量
- A=`ls -al`反引号,运行里面的命令,并把结果返回给变量A
- A=$(ls -al)等价于反引号
环境变量
设置 /etc/profire
生效 source /etc/profire
位置参数变量
- $n n为数字,$0代表命令本身,$1-$9代表九个参数
- $* 代表所有参数,把所有参数当成一个整体
- $@ 命令行中所有参数,把所有参数区别对待
- $# 代表所有参数的个数
预定义变量
- $$ 当前进程的进程号(PID)
- $! 后台运行的最后一个进程的进程号(PID)
- $? 最后一次执行命令的返回状态。0表示正常执行
条件判断
文件类型判断判断
- -f 文件存在并是一个常规文件
- -e 文件存在
- -d 文件存在并是一个目录
- -z 判断参数是否为空
正则表达式
元字符 | 功能 | 示例 |
---|---|---|
^ | 以***开头 | ^love |
$ | 以***结尾 | love$ |
. | 匹配单个字符 | l…e |
[] | 匹配范围内的一个字符 | [lL]ove |
[ - ] | 匹配范围内的一个字符 | [a-z0-9]ove |
[^ ] | 匹配不在范围内的一个字符 | [^a-z0-9]ove |
\ | 转义元字符 | love\. |
\< | 词首定位符 | \<love |
\> | 词尾定义符 | love\> |