文件目录属性判断 [ -f file ] 判断是否为普通文件,且存在 [ -d dir ] 判断是否为目录,且存在 [ -e file ] 判断文件或目录是否存在 [ -r file ] 判断文件是否可读 [ -w file ] 判断文件是否可写 [ -x file ] 判断文件是否可执行* [ ! -f file ] 取反 表示不存在

if的特殊用法 if [ -z "$a" ] 表示当变量a的值为空 if [ -n "$a" ] 表示当变量a的值不为空 if grep -wq 'word' file;then..... if可以结合其他命令使用,本列表示 若file文件中有包含word的行 if [ ! -e file ] ; then.... 表示文件不存在的时候执行then.... if (($a<1)) ; then.....等同于 if [ $a -lt 1 ];then..... [ ] 中部支持 < ,>, >=,<=,!=符号 可以使用 lt gt le ge ne eq

case 用法 格式 case 变量名 in value1) command ;; value2) command ;; .*) command ;; esac 在case程序中,可以在条件中使用 | 逻辑关系
条件1|条件2) ;;

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' #将变量n中全部数字替换为空然后赋值給n1 if [ ! -z "$n1" ] # 判断n1是否为空 此举判断输入是否为纯数字 then echo "please input a number." exit 1 fi if [ $n -lt 60 ] &&[ $n -gt 0 ] then tag=1 elif [ $n -gt 60 ] && [ $n -lt 80 ] then tag=2 elif [ $n -gt 80 ] && [ $n -lt 90 ] then tag=3 elif [ $n -gt 90 ] && [ $n -le 100 ] then tag=4 else tag=0 fi

case $tag in 1) echo bjige ;; 2) echo jige ;; 3) ehco lianghao ;; 4) echo youxiu *) echo "please input number rage 1-100" esac

for  循环

语法
for 变量名 in 条件;do.....;done

举例 #!/bin/bash sum =0 for i in seq 1 100 do sum=$[$sum+$i] done echo sum

举例 #!/bin/bash cd /etc for a in ls /etc/ do if [ -d $a ] then ls $a fi done