当前位置:   article > 正文

Shell 运算符与流程控制_shell程序 -gt用法

shell程序 -gt用法

1.运算符

 $((a+b)) :

$[a+b] : 建议使用

expr a + b :

expr 的 乘以* 需要转义 为\*

运算符之间需要有空格,整体使用``(反引号)包起来 

2.1 if判断与常用判断条件

[ 判断式 ] : 注意判断式俩端需要有空格

if 判断 :

  1. if [ 条件判断式 ]
  2. then
  3. 程序
  4. elif [ 条件判断式 ] #对比java中的else if
  5. then
  6. 程序
  7. else
  8. 程序
  9. fi #以反if结尾

=:字符串比较

对于俩个整数:

-lt  : 小于

-le : 小于等于

-eq : 等于

-gt : 大于

-ge : 大于等于

-ne : 不等于

  1. #!/bin/bash
  2. if [ $1 -lt $2 ]
  3. then
  4. echo "$1小于$2"
  5. fi
  6. if [ $1 -le $2 ]
  7. then
  8. echo "$1小于等于$2"
  9. fi
  10. if [ $1 -eq $2 ]
  11. then
  12. echo "$1等于$2"
  13. fi
  14. if [ $1 -gt $2 ]
  15. then
  16. echo "$1大于$2"
  17. fi
  18. if [ $1 -ge $2 ]
  19. then
  20. echo "$1大于等于$2"
  21. fi
  22. if [ $1 -ne $2 ]
  23. then
  24. echo "$1不等于$2"
  25. fi

 

按照文件权限进行判断

-r 有读的权限

-w 有写的权限

-x 有执行的权限

  1. #!/bin/bash
  2. if [ -r /home/acofkings/shell/hello2.sh ]
  3. then
  4. echo "拥有读的权限"
  5. fi
  6. if [ -w /home/acofkings/shell/hello2.sh ]
  7. then
  8. echo "拥有写的权限"
  9. fi
  10. if [ -x /home/acofkings/shell/hello2.sh ]
  11. then
  12. echo "拥有执行的权限"
  13. fi

 

按照文件类型进行判断

-f 文件存在并且是一个常规的文件

-e 文件存在

-d 文件存在并是一个目录

  1. #!/bin/bash
  2. if [ -f $1 ]
  3. then
  4. echo "文件存在且是常规文件"
  5. fi
  6. if [ -e $1 ]
  7. then
  8. echo "文件存在"
  9. fi
  10. if [ -d $1 ]
  11. then
  12. echo "文件存在且是一个目录"
  13. fi

3.case判断

  1. case $变量名 in
  2. "值1"
  3. 如果变量的值等于值 1,则执行程序 1
  4. ;;
  5. "值 2"
  6. 如果变量的值等于值 2,则执行程序 2
  7. ;;
  8. …省略其他分支…
  9. *)
  10. 如果变量的值都不是以上的值,则执行此程序
  11. ;;
  12. esac

例:

  1. #!/bin/bash
  2. case $1 in
  3. "1")
  4. echo "1"
  5. ;;
  6. "2")
  7. echo "2"
  8. ;;
  9. *)
  10. echo "other"
  11. ;;
  12. esac

4.for循环

俩个格式

格式一:

  1. for 变 量 in 值 1 值 2 值 3…
  2. do
  3. 程序
  4. done

例:

  1. #!/bin/bash
  2. for i in "$*"
  3. do
  4. echo "$i"
  5. done
  6. for j in "$@"
  7. do
  8. echo "$j"
  9. done

$* 中参数作为一个整体输出

$@中参数一个个输出

格式二:

  1. for (( 初始值;循环控制条件;变量变化 ))
  2. do
  3. 程序
  4. done

例:

  1. #!/bin/bash
  2. SUM=0
  3. for ((i=0;i<=100;i++))
  4. do
  5. SUM=$[$SUM+$i]
  6. done
  7. echo "SUM=$SUM"

5.while循环

  1. while [ 条件判断式 ]
  2. do
  3. 程序
  4. done
  1. #!/bin/bash
  2. #从命令行输入一个数 n,统计从 1+..+ n 的值是多少?
  3. SUM=0
  4. i=0
  5. while [ $i -le $1 ]
  6. do
  7. SUM=$[$SUM+$i]
  8. i=$[$i+1]
  9. done
  10. echo "SUM=$SUM"

 

 

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/154481
推荐阅读
相关标签
  

闽ICP备14008679号