格式:[ 判断内容 ]
注意:内容和[ ]之间有空格 (0为thue ,非0为false)
常见的条件判断:
注意使用 < 和 > 必须在前面加一个转义符
- -lt 小于
- -le 小于等于
- -eq 等于
- -gt 大于
- -ge 大于等于
- -ne 不等于
- -r 读
- -w 写
- -x 执行
- -s 为空
文件类型的判断:
- -f 文件存在且是一个常规文件
- -e 文件存在
- -d 文件存在并且是一个目录
格式一:
格式二:
注意: if中的判定是通过该命令的退出状态码决定(0 运行then 非0 不运行then)
结构一:
结构二:
[ condition1 ] && [ condition2 ] [ condition1 ] || [ condition2 ]
格式:
注意:当列表值中存在单引号时,结果会发生错误
使用转义字符(反斜线)来将单引号转义 使用双引号来定义用到单引号的值
bash shell 会把下面三个当作字段分割符:
修改 IFS: IFS=$' 符号 ' 使之只识别 ' '内的符号(可以同时设置多个符号)
格式二:(与C语言for相似)
退出状态码不为0 才会执行内容
break n 可以选择跳出的循环层数(n默认为1)
可以在done后添加重定向和管道
read [选项] (变量)
选项 | 功能 |
-p | 指定读取值的提示符 |
-t | 指定读取值时的等待时间(秒) |
-d | 后面跟一个标志符,其实只有其后的第一个字符有用,作为结束的标志。 |
-n | 后跟一个数字,定义输入文本的长度,很实用。 |
-r | 屏蔽\,如果没有该选项,则\作为一个转义字符,有的话 \就是个正常的字符了 |
-s | 输入的数据不在显示器中显示 |