Shell特殊字符

命令替换

命令替换是指从命令输出中提取信息,并将其赋给变量,有如下2种方法。

  1. 反引号字符(`)
test=`date`
# demo
$ test=`date`
$ echo $test
2017年 7月10日 星期一 21时26分04秒 CST
  1. $()形式
test=$(date)
# demo
$ test=$(date)
$ echo $test
2017年 7月10日 星期一 21时26分35秒 CST

Shell通配符

字符 | 含义 | 实例 |
----|------
|1.匹配0或多个字符。2.作为匹配文件名扩展的一个通配符,能自动匹配给定目录下的每一个文件;|ab a与b之间可以有任意长度的任意字符, 也可以一个也没有, 如aabcb, a01b, ab等
?|匹配任意一个字符|a?b a与b之间有且只有一个字符, 可以是任意字符, 如aab, adb, a0b等
[list]| 匹配list中的任意单一字符|a[xyz]b a与b之间有且只有一个字符, 且只能是x或y或z, 如: axb, ayb, azb。
[!list]|匹配除list中的任意单一字符|a[!0-9]b a与b之间有且只有一个字符, 但不能是数字, 如axb, aab, a-b等
[c1-c2]|匹配c1-c2中的任意单一字符|a[0-9]b a与b之间有且只有一个字符,该字符是0-9之间的数字,如a0b, a1b,... ,a9b。
{string1,string2,...}|匹配 sring1 或 string2 (或更多)其一字符串|a{abc,xyz,123}b a与b之间只能是abc或xyz或123这三个字符串之一。

需要说明的是:通配符看起来有点象正则表达式语句,但是它与正则表达式不同的,不能相互混淆。把通配符理解为shell特殊代号字符就可。

Shell元字符

shell除了有通配符之外,由shell负责预先先解析后,将处理结果传给命令行之外,shell还有一系列自己的其他特殊字符。

Shell特殊字符_第1张图片
Screen Shot 2017-07-10 at 11.11.23 PM.png

Shell转义符

有时候,我们想让通配符,或者元字符 变成普通字符,不需要使用它。那么这里我们就需要用到转义符了。 Shell提供转义符有三种。


Shell特殊字符_第2张图片
Screen Shot 2017-07-10 at 11.08.28 PM.png

摘要:Linux Shell 通配符、转义字符、元字符、特殊字符

你可能感兴趣的:(Shell特殊字符)