#!/bin/bash
# 特殊字符

# 通配符
# 通配符用于模式匹配，常见的通配符有 *、? 和用 [] 括起来的字符序列。
# 例如：a* 可以匹配以 a 开头的任意长度的字符串，但是不能包含 点号和斜线号
# 所以 a* 不能匹配 abc.txt
# ? 可以匹配任意单个字符
# [] 表示可以匹配其中的任意一个，比如 [abc] 可以匹配a或者b或者c
# [] 中可以用 - 表示起止。比如 [a-z] 匹配所有小写字母
# *? 在 [] 表示普通字符，没有通配功效

# 引号
# 02_转义和引用.sh 中介绍过，主要有单引号，双引号，反引号

# 注释符号

# 大括号
# 大括号 {} 在 Shell 中的用法很多
# 1. 变量扩展 ${PWD}
# 2. 通配符扩展
# 3. 语句块
# 通配符扩展的例子:
touch file_{A,B}
ls . | grep file
rm file_A
rm file_B

# 其他
# 位置参数
# $0: 脚本名本身
# $1,$2... 脚本的第一个参数，第二个参数...
# $# 变量总数
# $* $@ 显示所有参数
# $? 前一个命令的退出的返回值
echo $?    # 正常退出，结果为 0
rm qweqweqweqwe
echo $?    # 出现错误时，结果为 非0
# $! 最后一个后台进程的 ID 号