1. #!/bin/bash
  2. #你值得收藏的四则表达式运算。
  3. val1=1
  4. val2=1
  5. val3=1
  6. val4=1
  7. val5=1
  8. val6=1
  9. val7=1
  10. let val1++
  11. ((val2++))
  12. val3=$(($val3+1))
  13. val4=`expr $val4 + 1 `
  14. val5=`bc<<<$val5+1`
  15. val6=`echo "$val6+1"|bc`
  16. val7=$[ $val7+1 ]
  17. echo 'val1=' $val1
  18. echo 'val2=' $val2
  19. echo 'val3=' $val3
  20. echo 'val4=' $val4
  21. echo 'val5=' $val5
  22. echo 'val6=' $val6
  23. echo 'val7=' $val7

大于 -gt (greater than) 
小于 -lt (less than) 
大于或等于 -ge (greater than or equal) 
小于或等于 -le (less than or equal) 
不相等 -ne (not equal)

 

你应该了解的条件控制语句。

  1. #!/bin/bash
  2. #
  3. val=1
  4. if test $val -eq 1;then
  5. echo "hello word!"
  6. fi
  7. #!/bin/bash
  8. #
  9. val=1
  10. if [ $val -eq 1 ];then
  11. echo "hello word!"
  12. fi
  13. #!/bin/bash
  14. #
  15. val=1
  16. [ $val -eq 1 ] && {
  17. echo "hello word!"
  18. }
  19. #[]//不支持正则表达式,竟然是系统命令。
  20. #[[]]//支持正则表达式,却不是系统命令。
  21. #!/bin/bash
  22. val=1
  23. [[ $val -eq 1 ]] && {
  24. echo "hello word!"
  25. }
  1. #!/bin/bash
  2. #输入一个用户判断该用户是否存在。
  3. #read -p "please input your user:" USER
  4. #a=`cut -d ":" -f1 /etc/passwd| grep "$USER"`
  5. while true
  6. do
  7. if [ "$USER" == "$a" ];then
  8. echo "yes!this user is exit!!!"
  9. break
  10. else
  11. echo "this user no exit!!!"
  12. read -p "please input it again:" USER
  13. a=`cut -d ":" -f1 /etc/passwd| grep "$USER"`
  14. fi
  15. done

简单shell 案例,求3个数中的最大值。

  

  1. read a;read b; read c;
  2. max=$a
  3. if [ $max -lt $b ];then max=$b;fi
  4. if [ $max -lt $c ];then max=$c;fi
  5. echo $max
  6. echo "max:${max},a:${a},b:${b},c:${c}"

  

注意:分号只是为了体现换号操作,像我们上面写的IF,就没有分号,因为有换行。

Shell中的表达式及IF的更多相关文章

  1. shell中规则表达式与特殊符号

    在 bash 的操作环境中还有一个非常有用的功能,那就是通配符 (wildcard) ! 我们利用 bash 处理数据就更方便了!底下我们列出一些常用的通配符喔: 符号 意义 * 代表『 0 个到无穷 ...

  2. Linux shell中的一个问题 ${}带正则匹配的表达式

    目前在准备龙芯项目的PMON,在研究其编译过程的时候,看到一些make 语句,百思不得其解.后来在shell编程中看到一点资料,牵扯到Shell中的正则表达式.故记录下来,以备后来查阅. 问题: 在某 ...

  3. shell编程系列17--文本处理三剑客之awk动作中的表达式用法

    shell编程系列17--文本处理三剑客之awk动作中的表达式用法 awk动作表达式中的算数运算符 awk动作中的表达式用法总结: 运算符 含义 + 加 - 减 * 乘 / 除 % 模 ^或** 乘方 ...

  4. E2.在shell中正确退出当前表达式

    E2.在shell中正确退出当前表达式 优雅退出当前表达式 在shell里面输出复杂的多行表达时,经常由于少输入一个引号,一直无法退出当前的表达式求值,也没有办法终止它,以前只能通过两次Ctrl+C结 ...

  5. shell 中的与、或表达式

    今天总结一下linux shell中逻辑关机表达方式.逻辑与的表达: 1).if [ $xxx=a -a $xx=b ] 注:-a表示and的意思 2).if [ $xxx=a ] && ...

  6. 『忘了再学』Shell基础 — 28、AWK中条件表达式说明

    目录 1.AWK的条件表达 2.条件表达式说明 (1)BEGIN (2)END (3)关系运算符 (4)说明AWK中条件表达式的执行过程 (5)AWK中使用正则表达式 (6)A~B练习 1.AWK的条 ...

  7. shell中各种括号的作用()、(())、[]、[[]]、{}

    一.小括号,圆括号() 1.单小括号 ()    ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用.括号中多个命令之间用分号隔开,最后一个命令可以没有 ...

  8. Linux shell中的符号

    .单小括号 () ①命令组.括号中的命令将会新开一个子shell顺序执行,所以括号中的变量不能够被脚本余下的部分使用. 括号中多个命令之间用分号隔开,最后一个命令可以没有分号,各命令和括号之间不必有空 ...

  9. shell中的循环

    shell中的循环 for循环 类似于C语言的步长控制 例如: ;i<=;i++)); ); done 将1到10,依次乘以4,然后打印出来. 这里顺便提一下,shell里面表达式的计算,可以有 ...

随机推荐

  1. C语言char*字符串数组和unsigned char[]数组的相互转换

    #include <iostream> #include <string> using namespace std; void convertUnCharToStr(char* ...

  2. open-falcon之transfer

    功能 负责数据转发,接受agent上报的数据,然后使用一致性hash规则对数据进行分片,最后将分片后的数据分别转发至judge,graph 对接收到的数据进行合法性校验.规整 针对每个后端实例维护一个 ...

  3. Androd Toolbar 的简单使用(转)

    14年Android开发者大会提出了Android5.0 系统以及 材料设置 Material Design.在 材料设计中推出了大量的UI效果,其中某些功能 已添加进 兼容包,所以可以在低版本中来实 ...

  4. shell截取字符串的一些简单方法

    一.使用${} 1.${var##*/}该命令的作用是去掉变量var从左边算起的最后一个'/'字符及其左边的内容,返回从左边算起的最后一个'/'(不含该字符)的右边的内容.使用例子及结果如下:

  5. GDI+ 和GDI

    GDI:Graphics Device Interface,即图形设备接口,是Windows API的一个重要组成部分.它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具 ...

  6. imsdroid 学习(初认识)

    转:http://www.cnblogs.com/milospooner/archive/2012/07/15/2591979.html idoubs是imsdroid的IOS版本. 从google以 ...

  7. storm并发度理解

    1. 核心原理 一个运行中的拓扑是由什么组成的:worker进程,executors和tasks.Storm是按照下面3种主要的部分来区分Storm集群中一个实际运行的拓扑的:Worker进程.Exe ...

  8. 公钥基础设施体系和EJBCA的一些概念

    最近一段时间的在公司做的事情是: 1. 为公司的一些线上系统启用https(使用nginx反向代理的方式来实现,之前的应用无需做改动) 2.为符合规则的用户颁发数字证书(自建CA来实现,目前的用途是给 ...

  9. springMVC 报错:Unknown return value type: java.lang.Integer

    controller层返回值类型为Integer,运行报错: Unknown return value type: java.lang.Integer 解决办法:在此方法上写上注解 @Response ...

  10. 利用bat批处理做启动mongodb脚本

    文章开始,我们先回顾一下,如何用cmd命令窗口开启mongodb数据库,命令如下: 开启mongodb数据库 cd D:\Program Files\MongoDB\bin mongod --depa ...