20.5shell脚本中的逻辑判断 格式1:if 条件 ; then 语句; fi 大部分时候都是用的这种格式 格式2:if 条件; then 语句; else 语句; fi 格式2:if 条件; then 语句; else 语句; fi 20.6 文件目录属性判断 [ -f file ]判断是否是普通文件,且存在 执行过程 上面不存在已创建,再次执行就已存在 [ -d file ] 判断是否是目录,且存在 -d查看是否是目录,不是就创建 -e查看是否存在 在shell里touch是可以创建目录与文件的,如果目录下已存在目录或文件,那么它会更改它的3个time

是否可读 是否可执行 前面加!就是取反[ -f $f ] || [ touch $f = if [ -f $f ] then touch $f fi || 表示当前面的条件不存在时再执行后面一条命令 && 表示当前面的条件存在时再执行后面的命令 20.7 if特殊用法 if [ -z "$a" ] 这个表示当变量a的值为空时会怎么样 当它没有值的时候就会报错了 -z表示为空,它的用法 exit当满足前面的条件时就直接退出 -n的用法 当$b不为空的时候输出 $b 当为空时输出 b is null 文件不用双引号引起来,变量就要用双引号 -q是不显示过滤的内容 -w更加精准的指定单字符 20.8/ 20.9 case判断 vi /etc/init.d/network里面就有case的语句 #!/bin/bash read -p "Please input a number: " n if [ -z "$n" ] then echo "Please input a number." exit 1 fi n1=echo $n|sed 's/[0-9]//g' if [ -n "$n1" ] then echo "Please input a number." exit 1 fi if [ $n -lt 60 ] && [ $n -ge 0 ] then tag=1 elif [ $n -ge 60 ] && [ $n -lt 80 ] then tag=2 elif [ $n -ge 80 ] && [ $n -lt 90 ] then tag=3 elif [ $n -ge 90 ] && [ $n -le 100 ] then tag=4 else tag=0 fi case $tag in 1) echo "not ok" ;; 2) echo "ok" ;; 3) echo "ook" ;; 4) echo "oook" ;; *) echo "The number range is 0-100." ;; esac read -p "Please input a number: " n read -p 的作用是前面赋值多少,n就是多少 执行脚本,输入数字 101,查看执行的结果