shell基础符号
1、通配符:一般用于文件名的匹配
. 表示匹配单个任意字符
* 表示所有字符
? 表示任意的单个字符
[] 表示匹配[]内的任意单个字符
例:[a-z] 依次匹配a-z内的任意单个字符、[0-9]所有数字、
! 表示取反,非的意思
例如 :[!0-9] 表示匹配任意单个非数字的字符。
{ } 表示集和,集和中的元素通过 , 进行分割
例如:{a..f} 从a到f的所有字母;{a,f} 表示a字母和f字母
2、 命令连接符
; 连接多条命令,这些命令依次执行,无论前面的命令执行对错,后面的命令都会被执行
&& 逻辑与,前面的命令正确执行,后面的命令才会执行,由程序完全执行后的返回值判断程序是否执行成功
|| 逻辑或,前面的命令错误执行,后面的命令才会执行,由程序完全执行后的返回值判断程序是否执行成功
! 非,放在命令的前面时,当命令正确执行后会返回错误;当命令错误执行会返回正确
3、引号
‵‵ 反引号中间为系统命令,表示引用命令的输出结果 与$()同效果
'' 单引号表示强引,原原本本输出引号内的内容
"" 双引号表示弱引,双引内部的变量或``会被替换掉
4、管道和重定向
| 管道,将前一条命令的标准输出作为后一条命令的输入
> 标准输出重定向
>> 标准输出追加重定向
2> 错误输出重定向
&> 所有输出重定向
< 输入重定向
<< 输入结束标识符,通常用来创建有内容的文件
1>&2 将标准输出变成标准错误输出
2>&1 将标准错误输出变成标准输出
5、其他特殊符号
# 在脚本里以#开头表示注释
$ 行尾
& 放在命令的后面表示后台运行
() ()内的命令将在子shell中执行
\ 转义符
: 表示true,永远为真
/ 路径分隔符
_ 一般用来命名,无特殊含义
. source执行shell脚本, 当前目录