管道符
多命令执行顺序
多命令执行符 格式 作用
; 命令1;命令2 多个命令顺序执行,命令之间无任何逻辑关系
&& 命令1&&命令2 逻辑与:当命令1正确执行后,命令2才会正确执行,否则命令2不会执行
|| 命令1||命令2 逻辑或:当命令1不正确执行后,命令2才会正确执行,否则命令2不会执行
例如
[root@localhost ~]# pwd;touch abc;ls;date
[root@localhost ~]# ls abc.sh && echo yes
[root@localhost ~]# ls abc.sh || echo no
管道符
命令格式: 命令1| 命令2
作用:命令1的正确出书作为命令2的操作对象
例如:
[root@localhost ~]# ll -a /etc/ | more
netstat -an | grep "ESTABLISHED"
通配符
通配符 | 作用 |
---|---|
? | 匹配一个任意字符 |
* | 匹配0个或多个任意字符,也就是可以匹配任何内容 |
[] | 匹配括号中任意一个字符 |
[-] | 匹配括号中任意一个字符,“-”代表范围 |
[^] | 逻辑非,表示匹配不是括号内的一个字符 |
Bash中其他特殊符号
符号 | 作用 |
---|---|
‘’ | 单引号,在单引号中所有的特殊符号,如“$”和“`”(反引号)都无特殊含义 |
“” | 双引号,在双引号中特殊符号都无特殊含义,但“$”、“`”(反引号)和“\”是例外,拥有“调用变量值”,“引用命令”和“转义符”的特殊含义 |
“ | 反引号:反引号括起来的内容是系统命令,在Bash中先会执行它和 ()作用相同,推荐使用 () |
$() | 和反引号作用相同,用来引用系统命令 |
# | 在shell脚本中,#开头的行代表注释 |
$ | 用于调用变量的值,如需要调用变量name的值时,需要用$name的方式得到 |
\ | 转义符,跟在\之后的特殊字符将失去特殊含义,变为普通字符 |