sunchaoee 发表于 2023-10-31 17:18:08

请问各位大神,echo $((5==5))为什么返回1呢

请问各位大神,echo $((5==5))为什么返回1呢

Mike_python小 发表于 2023-10-31 17:19:38

在Shell脚本中,$((...))是用于进行算术运算的语法。在表达式中,==表示等于操作符。当比较两个数相等时,表达式的结果为真,即返回1。

因此,echo $((5==5))会输出1,表示5等于5。这是因为==运算符用于比较两个数是否相等,并且返回一个布尔值,其中1表示真,0表示假。

希望能够解答您的疑问。如果还有其他问题,请随时提问。

球一个最佳答案谢谢啦!这对我非常重要!{:10_254:}{:10_254:}{:10_254:}

isdkz 发表于 2023-10-31 17:22:09

在Bash中, $((...)) 是一种算术扩展语法,用于执行数学运算。在这种语法中, == 是比较运算符,用于比较两个值是否相等。

在这个问题中, 5==5 是一个比较表达式,用于判断数字5是否等于数字5。由于5确实等于5,所以这个比较表达式的结果为真,也就是返回1。

在Bash中,布尔表达式的真值通常用1表示,而假值用0表示。因此,当比较表达式为真时, $((5==5)) 会返回1。

sunchaoee 发表于 2023-10-31 17:32:09

Mike_python小 发表于 2023-10-31 17:19
在Shell脚本中,$((...))是用于进行算术运算的语法。在表达式中,==表示等于操作符。当比较两个数相等时, ...

那为什么echo $(2>1) 返回值又是0呢,2>1是真,在shell中,测试条件表达式中,真返回0,假返回1

sunchaoee 发表于 2023-10-31 17:33:03

isdkz 发表于 2023-10-31 17:22
在Bash中, $((...)) 是一种算术扩展语法,用于执行数学运算。在这种语法中, == 是比较运算符,用于比较两 ...

那为什么echo $(2>1) 返回值又是0呢,2>1是真,在shell中,测试条件表达式中,真返回0,假返回1

歌者文明清理员 发表于 2023-10-31 18:25:39

sunchaoee 发表于 2023-10-31 17:33
那为什么echo $(2>1) 返回值又是0呢,2>1是真,在shell中,测试条件表达式中,真返回0,假返回1

sunchaoee 发表于 2023-10-31 23:06:03

歌者文明清理员 发表于 2023-10-31 18:25


# echo $(2>1)

# echo $?
0
上面命令执行后,返回的值是0啊

歌者文明清理员 发表于 2023-11-1 17:28:58

sunchaoee 发表于 2023-10-31 23:06
# echo $(2>1)

# echo $?


发图片

sunchaoee 发表于 2023-11-3 23:43:30

歌者文明清理员 发表于 2023-11-1 17:28
发图片

echo $(2>1)没有返回结果,用echo $?则返回了0

歌者文明清理员 发表于 2023-11-4 00:19:03

sunchaoee 发表于 2023-11-3 23:43
echo $(2>1)没有返回结果,用echo $?则返回了0

{:10_257:}不会了

sunchaoee 发表于 2023-11-7 00:15:45

歌者文明清理员 发表于 2023-11-4 00:19
不会了

还是感谢你的解释

wcx1279971605 发表于 2023-11-20 11:12:22

概念弄混淆了, echo$?返回的结果是你上一个命令执行的结果, 执行成功返回0执行失败返回1    上面echo$(2>1)   或者 echo $(1>2)是比值问题,无法是否成立 这个命令都是成功的echo$?都会返回0
页: [1]
查看完整版本: 请问各位大神,echo $((5==5))为什么返回1呢