【shell】2、判断表达式、if语句

文件类型判断
  • test -e filename:该文件名是否存在
  • test -f filename:该文件名是否存在且为文件(file)
  • test -d filename:该文件名是否存在且为目录(directory)
文件权限判断
  • test -r filename:该文件名是否存在且有==可读==的权限
  • test -w filename:该文件名是否存在且有==可写==的权限
  • test -x filename:该文件名是否存在且==有可执行==的权限
两个整数之间的判定,例如 test n1 -eq n2
  • eq 数值相等。
  • ne 数值不相等。
  • gt 第一个数大于第二个数。
  • lt 第一个数小于第二个数。
  • le 第一个数小于等于第二个数。
  • ge 第一个数大于等于第二个数。
if [ $a -lt "100" ]; then
   echo $a
fi
字符串的判定,例如test -n str1
  • === 两个字符串相等。
  • != 两个字符串不等。
  • -z 空串。
  • -n 非空串。
if [ $a == "abc" ]; then
   echo $a
fi
if表达式
if  条件;then
    命令
fi

if  条件;then  
    命令1
else  
    命令2
fi

if 条件1;then 
    命令1
elif 条件2;then 
    命令2
else 
    命令3
fi
for循环
for var in 1 2 3 4 5
do
 echo ${var}
done

num=10
s=0
for((i=0;i<${num};i=i+1))
do
    s=$((${s}+${i}))
done
echo ${s}
while循环
int=1
while(( $int<=5 ))
do
    echo $int
    let "int++"
done
无限循环
while :
do
    command
done

while true
do
    command
done

for (( ; ; ))
逐行读文件
cat ${FILE} | while read line
do
    echo ${line}
done

猜你喜欢

转载自www.cnblogs.com/Grand-Jon/p/10106222.html