Shell教程
if-elif条件控制语句 以关键字"if"开头,"fi"结尾
if 条件测试语句; then #TODO Action elif [[ $age -gt 90 ]]; then #TODO Action ...#more elif else #TODO Action fi
age=26; if [[ $age -gt 90 ]]; then echo "90+"; elif [[ $age -gt 75 ]]; then echo "75+"; elif [[ $age -gt 60 ]]; then echo "60+"; elif [[ $age -gt 45 ]]; then echo "45+"; else echo "45-"; fi;
常见的条件测试语句包括: 对文件属性的判断,字符串类型比较,数值型比较。
(1)文件属性判断
文件属性判断包括:对文件的读、写、可执行权限的判定;是普通文件还是目录的判定;文件类型的判定。
例:
#!/bin/bash if [ -f "/tmp/test.txt" ]; then echo "is a file"; else echo "is a directory"; fi; if [ -w "/tmp/test.txt" ]; then echo "can write"; else echo "can't write"; fi; if [ -c "/tmp/test.txt" ]; then echo "charactor"; elif [ -c "/tmp/test.txt" ]; then echo "block"; else echo "other"; fi; if [ -s "/tmp/test.txt" ]; then echo "size>0"; else echo "empty"; fi;
其它文件测试相关语句有:
[ -f "/tmp/test.txt" ] ##判断文件是普通文件还是目录 [ -r "/tmp/test.txt" ] ##判断文件是否可读 [ -w "/tmp/test.txt" ] ##判断文件是否可写 [ -x "/tmp/test.txt" ] ##判断文件是否可执行 [ -c "/tmp/test.txt" ] ##判断文件是否为字符设备 [ -b "/tmp/test.txt" ] ##判断文件是否为块设备 [ -s "/tmp/test.txt" ] ##判断文件大小是否大于0
(2)字符串类型比较
(3)数值型比较