导航:首页 > 编程系统 > linuxshell浮点数比较

linuxshell浮点数比较

发布时间:2023-12-10 15:56:05

linux shell中的比较符号与特殊符号介绍

shell字符串比较、判断是否为数字

二元比较操作符,比较变量或者比较数字。注意数字与字符串的区别。

整数比较

-eq 等于,如:if [ "$a" -eq "$b" ]

-ne 不等于,如:if [ "$a" -ne "$b" ]

-gt 大于,如:if [ "$a" -gt "$b" ]

-ge 大于等于,如:if [ "$a" -ge "$b" ]

-lt 小于,如:if [ "$a" -lt "$b" ]

-le 小于等于,如:if [ "$a" -le "$b" ]

< 小于(需要双括号),如:(("$a" < "$b"))

<= 小于等于(需要双括号),如:(("$a" <= "$b"))

> 大于(需要双括号),如:(("$a" > "$b"))

>= 大于等于(需要双括号),如:(("$a" >= "$b"))

字符串比较

= 等于,如:if [ "$a" = "$b" ]

== 等于,如:if [ "$a" == "$b" ],与=等价

注意:==的功能在[[]]和[]中的行为是不同的,如下:

1 [[ $a == z* ]] # 如果$a以"z"开头(模式匹配)那么将为true

2 [[ $a == "z*" ]] # 如果$a等于z*(字符匹配),那么结果为true

3

4 [ $a == z* ] # File globbing 和word splitting将会发生

5 [ "$a" == "z*" ] # 如果$a等于z*(字符匹配),那么结果为true

一点解释,关于File globbing是一种关于文件的速记法,比如"*.c"就是,再如~也是.

但是file globbing并不是严格的正则表达式,虽然绝大多数情况下结构比较像.

!= 不等于,如:if [ "$a" != "$b" ]

这个操作符将在[[]]结构中使用模式匹配.

< 小于,在ASCII字母顺序下.如:

if [[ "$a" < "$b" ]]

if [ "$a" \< "$b" ]

注意:在[]结构中"<"需要被转义.

> 大于,在ASCII字母顺序下.如:

if [[ "$a" > "$b" ]]

if [ "$a" \> "$b" ]

注意:在[]结构中">"需要被转义.

具体参考Example 26-11来查看这个操作符应用的例子.

-z 字符串为"null".就是长度为0.

-n 字符串不为"null"

链接:https://www.jianshu.com/p/6322715ad196

⑵ linux shell中字符'1'如何进行比较

linux shell中不区分字符还是字符串的,只区分数值的比较还是字符串的比较。
你这样写就认为是字符串。字符的话你要写ASCII码数值,字符'1'要写成49,转换为数字进行比较。

⑶ linux shell 编程怎么定义浮点型数据

bash 不支持浮点运算,如果需要进行浮点运算,需要借助bc,awk 处理

1、借助bc处理示例:计算5.01-4*2.0,得到的结果为-2.99

$c=$(echo"5.01-4*2.0"|bc)
$echo$c

2、借助awk处理示例:计算7.01*5-4.01,得到的结果为31.05

$c=$(awk'BEGIN{print7.01*5-4.01}')
$echo$c

注:在shell 中$() 与 ``等效。 中间包含命令语句执行,返回执行结果。

⑷ LINUX shell 遇到的问题。 我想计算1+2+3+4.到100

这里
i
是当做计数器用的,每次循环递增1。r
是当做累加器用的,将
i
的值进行累加。
这里没有用for循环,而是用的while循环,其实是一样的,而且while循环更为通用(sh不支持for循环)。
循环的次数也是有定义的,while
[
"$i"
!=
"100"
]这句就是定义,只要
i
没递增到100,就会一直循环。其实这句从语义上来说是不对的,这里是整数的比较而不是字符串的比较,所以比较符应该用-ne而不要用!=,即,应该写成
while
[
$i
-ne
100
]
下面是个更为简单的实现,你可以体会一下(shell中的变量其实不需要初始化,自有其默认值)。
#!/bin/bash
for
i
in
{1..100}
do
r=$((r+i))
done
echo
$r

⑸ linux shell 如何比较两个整数的大小

linux shell比较两个整数的大小可以采用以下的代码

#!/bin/sh

max=9

min=8

if [ $max -gt $min ]

then

echo 1

else

echo 0

fi

数字的比较:

-eq 相等(equal)

-ne 不等(not equal)

-gt 大于(greater than)

-lt 小于(less than)

-ge 大于等于 (greater than or equal)

-le 小于等于 (less than or equal)

字符串的比较:

[ $str1 = $str2 ] 等于

[ $str1 != $str2 ] 不等于

[ -z $str ]空字符串返回true

[ -n $str ] 或者 [ $str ] 非空字符串返回true

(5)linuxshell浮点数比较扩展阅读:

Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。

shell命令

命令行c

用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:

$ date

二 11 23 01:34:58 CST 1999

$

用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:

$ Command Option Arguments

⑹ Linux篇:shell脚本中if的“-e,-d,-f”

最近在学一段脚本中的if语句中出现了这么一句:

 if [ ! -f "/usr/bin/svnserve" ]

一时没想起这个-f的意思,于是重新翻了之前的笔记,把相关的知识点总结如下:

-e filename 如果 filename存在,则为真

-d filename 如果 filename为目录,则为真 

-f filename 如果 filename为常规文件,则为真

-L filename 如果 filename为符号链接,则为茄颂真

-r filename 如果 filename可读,则为真 

-w filename 如宴氏果 filename可写,则为真 

-x filename 如果 filename可执行,则为真

-s filename 如果文件长度不为0,则为真

-h filename 如果文件是软链接,则为真

filename1 -nt filename2 如果 filename1比 filename2新,则为真。

filename1 -ot filename2 如果 filename1比 filename2旧,则为真。

-eq 等于

-ne 不等于

-gt 大于

-ge 大于等于

-lt 小于

-le 小于等于

04 字符串变量表达式

if [ $a = $b ]                 如果string1等于string2,则为真,字符串允许使用赋值号做等号

if  [ $string1 !=  $string2 ]   如果string1不等于string2,则为真颤祥郑       

if  [ -n $string  ]             如果string 非空(非0),返回0(true)  

if  [ -z $string  ]             如果string 为空,则为真

if  [ $sting ]                  如果string 非空,返回0 (和-n类似) 

    逻辑非 !                   条件表达式的相反

if [ ! 表达式 ]

if [ ! -d $num ]               如果不存在目录$num

    逻辑与 –a                   条件表达式的并列

if [ 表达式1  –a  表达式2 ]

    逻辑或 -o                   条件表达式的或

if [ 表达式1  –o 表达式2 ]

⑺ shell中比较两个变量之间的值!

你是想直接比较 2列数据 吧

awk-F","'$2<$3{print$0}'cc.del

这句是直接比较 第三列大于第二列则输出回整行

如果想比较第三列大于第二列输出第一答列 吧$0换成$1即可

如果只单纯输出go

awk-F","'$2<$3{system("echogo")}'cc.del
阅读全文

与linuxshell浮点数比较相关的资料

热点内容
js绑定下拉框数据库数据 浏览:448
cad文件怎么复制到另一个文件里边 浏览:858
dxp钻孔文件 浏览:631
iphone大悦城换机 浏览:538
找结婚对象上什么网站 浏览:974
学生信息管理系统程序设计报告 浏览:640
微信文件怎么删除怎么恢复 浏览:407
编程程序怎么复制 浏览:467
文件更改 浏览:327
冰点文件路径 浏览:730
软件一点开文件就关闭 浏览:88
网络如何把人捧红 浏览:961
软件传输文件 浏览:184
密码记录器ios 浏览:412
两个电脑数据怎么一样 浏览:829
顺丰有什么买东西的app 浏览:377
数位板word 浏览:939
win7宽带连接出现多重网络 浏览:268
更改程序图标c语言 浏览:629
网络电视偷停怎么办 浏览:418

友情链接