shell的数学运算

 branches@ubuntu:~$ var1=$[ * ]
branches@ubuntu:~$ echo $var1 branches@ubuntu:~$ var2=$[$var1 + ]
branches@ubuntu:~$ echo $var2 branches@ubuntu:~$ var2=$[$var1+8.6] <==Bash Shell只能处理整数运算
-bash: +8.6: 语法错误: 无效的算术运算符 (错误符号是 ".6")

shell的浮点数运算

 branches@ubuntu:~$ bc
bc 1.06.
Copyright -, , , , , Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
23.4+7.035
30.435
3.14*(+)
21.98
quit
branches@ubuntu:~$

字符串大小比较

 branches@ubuntu:~/Scripts$ cat badtest.sh
#!/bin/bash
#mis-using string comparsions
#
val1=baseball
val2=hockey
#
#if [ $val1 \> $val2 ] <== 正确写法
if[$val1 > $val2]
#会报错'badtest.sh: 7: [: missing ]' <== if和[之间一定要有' '空格
#会出现文件 hockey],因为'>'被当做重定向符 <== '>'前夹转义字符成'\>' & '$val2'和']'之间加' '空格
then
echo "$val1 is greater than $val2"
else
echo "$val1 is less than $val2"
fi

在比较测试中,大写字母被认为是小于小写字母的。与sort命令恰好相反

注意,test命令和测试表达式使用标准的数学表比较符号来表示字符串比较,而用文本代码来表示数值比较。这个细微的特性被很多程序猿理解反了


文件测试

-d file                检查file是否存在并是一个目录
-e file 检查file是否存在
-f file 检查file是否存在并是一个文件
-r file 检查file是否存在并可读
-s file 检查file是否存在并非空
-w file 检查file是否存在并可写
-x file 检查file是否存在并可执行
-O file 检查file是否存在并属当前用户所有
-G file 检查file是否存在并默认组与当前用户相同
file1 -nt file2 检查file1是否存比file2新
file1 -ot file2 检查file1是否存比file2旧

shell数学运算的更多相关文章

  1. Linux Shell 数学运算

    Linux Shell 数学运算 在Linux中直接使用数学运算符进行数学运算往往得不到我们想要的计算结果.要在Shell中进行数学运算,我们需要借助点小手段.目前,Linux Shell中进行数学运 ...

  2. shell 数学运算

    数学运算之 expr expr操作符对照表 比较大小,只能对整数进行比较,需要加空格,linux 保留关键字要转义 num1=30 num2=50 expr $num1 \> $num2 查看上 ...

  3. 7 shell 数学运算

    shell中数学运算的易错点: 1.在 Bash Shell 中,如果不特别指明,每一个变量的值都是字符串,无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储.即使是将整数和小数赋值给变量,它 ...

  4. shell 数学运算总结

    # !/bin/bash ## 整数-算数运算 ### 1. expr r=`expr 4 + 5` ### Tips:1. '4''+''5'三者之间有空白 echo $r; r=`expr 4 \ ...

  5. 【Linux】shell数学运算

    在Bash shell环境中,可以利用let.(())和[]执行基本的算术操作.而在进行高级操作时,expr和bc这两个工具就特别有用 let的使用 Script01.sh #!/bin/bash # ...

  6. shell编程之数学运算

    shell数学运算支持整数运算的四种方法 1.let命令 no1=4; no2=5; let result=no1+no2 2.[]操作符 result=$[ no1 + no2] 3.(())操作符 ...

  7. shell执行数学运算

    整数: expr let $(()) $[] 浮点数: bc 1.使用expr ♦参与运算的成员和运算符之间必须有一个空格: ♦对于那些容易被shell错解的,在它们传入expr命令之前,需要使用sh ...

  8. Linux shell 变量 数学 运算

    Abstract : 1)  Linux shell 中使用 let , [ ] ,(( )) 三种运算符操作 shell 变量进行简单的基本运算: 2)Linux shell 中使用 expr 与 ...

  9. 认真学习shell的第一天-数学运算

    shell中的数学运算有三种方式: (1)let,用let的时候,变量名称前不用添加$ (2)[],[]中变量可使用也可不使用$ (3)(())变量名之前必须添加$

随机推荐

  1. elasticsearch 基础 —— Update API

    Update API 更新API允许基于提供的脚本更新文档.该操作从索引获取文档(与分片并置),运行脚本(使用可选的脚本语言和参数),并对结果进行索引(也允许删除或忽略操作).它使用版本控制来确保在& ...

  2. js 程序执行与顺序实现详解

    JavaScript是一种描述型脚本语言,由浏览器进行动态的解析与执行,浏览器对于不同的方式有不同的解析顺序,详细介绍如下,感兴趣的朋友可以参考下哈 函数的声明和调用 JavaScript是一种描述型 ...

  3. 2018-8-10-win10-UWP-发邮件

    title author date CreateTime categories win10 UWP 发邮件 lindexi 2018-08-10 19:17:19 +0800 2018-2-13 17 ...

  4. 一、UC中文调试

    一.只支持UC浏览器,版本号6.2.3831.3,复制resources.pak到UC安装目录下,覆盖同名文件即可

  5. 脚本_检测 MySQL 数据库连接数量

    #!bin/bash#功能:检测 MySQL数据库连接数量,以满足对 MySQL 数据库的监控需求,查看 MySQL 连接是否正常.#作者:liusingbon#本脚本每 2 秒检测一次 MySQL ...

  6. go语言从例子开始之Example34.速率限制

    速率限制(英) 是一个重要的控制服务资源利用和质量的途径.Go 通过 Go 协程.通道和打点器优美的支持了速率限制. Example: package main import "fmt&qu ...

  7. Vue实例与组件的关系

    所有的 Vue 组件都是 Vue 实例,可以看成Vue组件就是Vue实例的扩展. <div id="app"> <child></child> ...

  8. 使用字节流(InputStream、OutputStream)简单完成对文件的复制

    文件的复制 import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; imp ...

  9. find命令进阶用法(一)

    -cmin n: 查找 exactly n 分钟前内容或属性被最后修过的文件 -cnewer file: 查找内容或属性的最后修改时间晚于file文件的文件 -ctime n: 查找 **n*24** ...

  10. Web核心之Request对象

    HTTP协议中Request请求部分格式 //请求行(这种是POST类型的请求) POST /HttpServleLogin.html HTTP/1.1 //请求头(User-Agent里有Firef ...