## 1.\[\]和\[\[\]\]符号
首先我们通过type命令来看一下\[\]和\[\[\]\]在Bash中是什么:
```
[root@blog.puppeter.com_centos ~]# type "test" "[" "[["
test is a shell builtin # 内建命令
[ is a shell builtin # 内建命令
[[ is a reserved word # 关键字
```
所以在Bash中\[\]等价于test命令,案例。
```
[root@blog.puppeter.com_centos ~]# test -f /etc/passwd && echo true # 结果为true
[root@blog.puppeter.com_centos ~]# [ -f /etc/passwd ] && echo ture # 结果为true
```
\[\]和\[\[\]\]符号。
```
[root@blog.puppeter.com_centos ~]# [ 10 -gt 20 && 3 -eq 3 ]&&echo y||echo n # 会报错
[root@blog.puppeter.com_centos ~]# [[ 10 -gt 20 && 3 -eq 3 ]]&&echo y||echo n # 正常执行
```
两个符号相比:
* 1.\[\[\]\]更通用一些,\[\]仅在Bash下有效
* 2.\[\]为Shell命令,所以比较操作符">" 与"<"必须转义否则就变成IO改向操作符。在\[\[中"<"与">"不需转义,案例如下
```
if [[ "$a" < "$b" ]]
if [ "$a" \< "$b" ]
```
- Introduction
- 1.Shell编程基础
- 什么是Shell
- 编写第一个Bash程序
- 2.变量
- 什么是变量
- 变量四种赋值方式
- 指定变量类型
- 变量的类型
- 特殊变量
- 3.Bash符号相关
- Bash符号相关
- 特殊符号
- 数学运算符号
- 4.内建命令与外部命令
- 内建命令与外部命令
- 5.read命令
- read命令
- 6.条件语句
- if..then..fi
- if..then..else..fi
- if..then..elif..fi
- 空命令
- 文件测试符
- 字符串判断、与、或和非
- []与[[]]符号
- 7.Bash循环 && 分支语句
- while循环语句
- for循环
- for..in循环
- until循环
- select循环
- case分支语句
- 8.正则表达式
- 正则表达式
- 9.子Shell和受限Shell
- 子Shell
- 受限Shell
- 10.函数与函数的加载
- 函数语法与案例
- 递归函数
- 函数的加载
- 11.Bash脚本风格
- Bash脚本风格
- 12.Bash脚本调试
- Bash脚本调试
- 13.sed && awk
- sed
- 14.awk
- awk
- 15 Bash杂项 && 案例
- while循环的陷阱
- Bash的生命周期
- IO重定向
- /bin/bash和/bin/sh区别
- 命令杂项
- Shell加密
- 16.10.2.案例
- Bash版回收站
- 17.Bash中文速查表
- 中文速查表