数值运算命令

    expr 命令
    expr expression
 
  expression 是由字符串 以及 运算符所组成的,每一个字符串或说运算符之间必须用空格隔开,
  运算符的优先顺序先后排列,可以使用小括号来改变运算的优先级别,将运算结果输出到标准输出设备上;
  字符串比较,比较的方式是以两字符串的第一个字符开始,以第二个字符串的最后一个字母结束,如果相同,则输出第二个字符串的字母个数,如果不同则返回0,
  * 乘法 
  / 除法
  % 取余数
  + 加法
  - 减法
  < 小于
  <= 小于等于
  =  等于
  != 不等于
  >= 大于等于
  >  大于
  &  AND运算
  |  OR 运算
在表达式中含有 * ( ) 等符号的时候,必须在前面加上\ (进行转义  ),以免被外壳解释成其他意义
 
 
expr 2\* \( 3 + 4 \)
得出结果 14 ;
 
 
 
test 命令 进行测试 ;; [[  ]]  // 作用相同;
 
1) 整数运算符
int1 -eq int2 如果int1 和i n t 2相等,则返回真。
int1 -ge int2 如果int1 大于等于i n t 2,则返回真。
int1 -gt int2 如果int1 大于i n t 2,则返回真。
int1 -le int2 如果i n t 1小于等于i n t 2,则返回真。
int1 -lt int2 如果i n t 1小于i n t 2,则返回真。
int1 -ne int2 如果int1 不等于i n t 2,则返回真。
 
2) 字符串运算符
str1 = str2 如果str1 和s t r 2相同,则返回真。
str1 != str2 如果str1 和s t r 2不相同,则返回真。
str 如果str 不为空,则返回真。
-n str 如果str 的长度大于零,则返回真。
-z str 如果str 的长度等于零,则返回真。
 
3) 文件运算符
-d filename 如果filename 为目录,则返回真。
-f filename 如果filename 为普通的文件,则返回真。
-r filename 如果filename 可读,则返回真。
-s filename 如果filename 的长度大于零,则返回真。
-w filename 如果filename 可写,则返回真。
-x filename 如果filename 可执行,则返回真
 
 
4) 逻辑运算符
! expr 如果expr 为假,则返回真。
expr1 -a expr2 如果expr1 和e x p r 2同时为真,则返回真。
expr1 -o expr2 如果expr1 或 e x p r 2有一个为真,则返回真
 
 
 
// 
tcsh表达式的运算符也分为整数运算符、字符串运算符、文件运算符和逻辑运算符四种。
1) 整数运算符
int1 <= int2 如果i n t 1小于等于i n t 2,则返回真。
int1 >= int2 如果int1 大于等于i n t 2,则返回真。
int1 < int2 如果i n t 1小于等于i n t 2,则返回真。
int1 > int2 如果int1 大于i n t 2,则返回真。
2) 字符串运算符
str1 == str2 如果str1 和s t r 2相同,则返回真。
str1 != str2 如果str1 和s t r 2不相同,则返回真。
3) 文件运算符
-r file 如果f i l e可读,则返回真。
-w file 如果f i l e可写,则返回真。
-x file 如果f i l e可执行,则返回真。
-e file 如果f i l e存在,则返回真。
-o file 如果当前用户拥有file ,则返回真。
-z file 如果file 长度为零,则返回真。
-f file 如果file 为普通文件,则返回真。
-d file 如果file 为目录,则返回真。
4) 逻辑运算符
exp1 || exp2 如果exp1 为真或exp2 为真,则返回真。
exp1 && exp2 如果exp1 和e x p 2同时为真,则返回真。
! exp 如果exp 为假,则返回真
//
 
 
 

Shell 编程 : 数值,字符,字符串的更多相关文章

  1. shell编程(七)之字符串处理

    字符串切片 ${var:offset:number} 取字符串的最右侧几个字符: ${var: -length} 注意: 冒号后必须有一个空白字符 #!/bin/bash var="chen ...

  2. shell编程—注释、字符串和数组(四)

    shell注释 以#作为注释符号 shell中没有多行注释,只能一行加一个#号 字符串操作 1.拼接字符串 2.获取字符串长度 string=“khjf” echo ${#string} 3.提取子字 ...

  3. shell编程-1.字符截取命令-列截取cut

  4. shell编程-1.字符截取命令-列截取awk+printf

  5. Linux编程 24 shell编程(结构化 if [ condition ] 数值比较,字符串比较)

    一.概述 接着上篇讲的结构化命令,最后讲到了test命令的另一种写法 if [ condition ],它的语法格式如下: --格式如下: if [ condition ] then commands ...

  6. Linux学习——shell编程之正则表达式和字符处理命令

    shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...

  7. Shell 数值、字符串比较

    Shell脚本中,数值与字符串比较是不同的,因此要注意(注意[]括号内参数和括号之间有一个空格). 一.数值比较 -eq 等于,如: if [ $a -eq $b ] -ne    不等于,如: if ...

  8. shell编程系列19--文本处理三剑客之awk中的字符串函数

    shell编程系列19--文本处理三剑客之awk中的字符串函数 字符串函数对照表(上) 函数名 解释 函数返回值 length(str) 计算字符串长度 整数长度值 index(str1,str2) ...

  9. shell编程系列4--有类型变量:字符串、只读类型、整数、数组

    shell编程系列4--有类型变量:字符串.只读类型.整数.数组 有类型变量总结: declare命令和typeset命令两者等价 declare.typeset命令都是用来定义变量类型的 decla ...

随机推荐

  1. 聚类算法:K-means

    2013-12-13 20:00:58    Yanjun K-means算法是很典型的基于距离的聚类算法,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大.该算法认为簇是由距离 ...

  2. RabbitMQ消息队列在PHP下的应用

    消息队列的实现中,RabbitMQ以其健壮和可靠见长.公司的项目中选择了它作为消息队列的实现.关于MQ的机制和原理网上有很多文章可以看,这里就不再赘述,只讲几个比较容易混淆的问题 1,binding ...

  3. css 补漏

    1.box-sizing: width(宽) + padding(内边距) + border(边框) = 元素实际宽度    height(高) + padding(内边距) + border(边框) ...

  4. classpath: VS classpath*:

    同名资源存在时,classpath: 只从第一个符合条件的classpath中加载资源,而classpath*: 会从所有的classpath中加载符合条件的资源 classpath*:需要遍历所有的 ...

  5. Redis集群(三):主从配置一

    一.本文目的          Redis的主从配置分为两篇文章,第一篇主要介绍了Redis主从配置的搭建过程及使用,第二篇主要说明各种情况下Redis主从状态,如Master挂掉,Slaver挂掉, ...

  6. jprofiler_监控远程linux服务器的tomcat进程(实践)

    一.软件列表: windows和linux的jprofiler的版本必须一致 1.jprofiler_linux_9_1_1.tar.gz 2.jprofiler_windows_x64 9_1_1 ...

  7. 红米3 Flyme5.1.9.5插桩适配长期不定时更新

    ROM介绍: 2016.9.5更新日志: 1,更新源码到0905 2.修复bug若干. 2016.8.29更新日志: 1,更新源码到0829 2.修复bug若干. 2016.8.22更新日志: 1,更 ...

  8. raw_input和input的区别

    raw_input的返回类型是String类型 input的返回类型是int类型 >>> rawinput = raw_input("raw_input:") r ...

  9. 移植eac3音频库

    2016-5-26 移植eac3音频库,从ffmpeg库中移植.经过验证是切实可行的. 感觉开源软件就是时间黑洞,有多少时间搭进去都不为过.已经3周过去了,ffmpeg还是没有熟悉完. 真正的移植工作 ...

  10. MySQL复制配置(多主一从)

    复制多主一从 replicaion 原理 复制有三个步骤:(分为三个线程 slave:io线程 sql线程 master:io线程) 1.master将改变记录到二进制日志(binary log)中( ...