linux – 如何在bash中进行基本数学运算?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了linux – 如何在bash中进行基本数学运算?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1768字,纯文字阅读大概需要3分钟。
内容图文
我做了一些我认为应该是一个名为bashispainful.sh的shell脚本:
码:
#!/bin/bash
Var1= $((10*5))
Var2= $((10/5))
Var3= $((10-5))
Var4= $((10+5))
Var5= ($(Var4)*$(Var3))
echo $Var1
echo $Var2
echo $Var3
echo $Var4
echo $Var5
我想收到输出:
50
2
5
15
75
我目前的输出:
./Bashispainful.sh: line 2: 50: command not found
./Bashispainful.sh: line 3: 2: command not found
./Bashispainful.sh: line 4: 5: command not found
./Bashispainful.sh: line 5: 15: command not found
./Bashispainful.sh: line 6: syntax error near unexpected token `('
./Bashispainful.sh: line 6: `Var5= ($(Var4)*$(Var3))'
我的目标是获得任何关于能够在bash中完成基本数学的能力.我已经尝试了每个网站以及括号,美元符号和缺乏的各种组合,我可以想到,坦率地说,我感到困惑和绝望.如何在bash中执行简单的数学运算?
(请让这个易于理解 – 请假设我是一个非程序员和愚蠢的人)
解决方法:
Bash并不痛苦:
#!/bin/bash
Var1=$((10*5))
Var2=$((10/5))
Var3=$((10-5))
Var4=$((10+5))
Var5=$((Var4*Var3))
echo $Var1
echo $Var2
echo $Var3
echo $Var4
echo $Var5
输出是:
50
2
5
15
75
笔记
考虑:
Var1= $((10*5))
在bash进行算术替换后,该命令如下所示:
Var1= 50
该命令说(a)暂时将Var1设置为空,(b)运行名为50的命令.由于没有名为50的命令,您收到错误:
Bashispainful.sh: line 2: 50: command not found
解决方案是删除空格,以便将Var1分配给非空值:
Var1=$((10*5))
考虑:
Var5= ($(Var4)*$(Var3))
对于名称以(.那是无效的)命令,这会将Var5暂时设置为空.因此错误:
./Bashispainful.sh: line 6: syntax error near unexpected
算术的正确bash语法是$((…)).因此,该行可以写成:
Var5=$(($Var4*$Var3))
但是,因为bash并不痛苦,所以它理解算术表达式中的字符串是shell变量.因此,美元符号是不必要的,以上可以简化为:
Var5=$((Var4*Var3))
或者,由于上面只是对变量进行赋值,因此可以进一步简化为:
((Var5=Var4*Var3))
请注意,$((…))返回算术计算的值,但((…))不返回任何值.它设置了一个退出代码,使其对if语句中使用的测试很有用.
内容总结
以上是互联网集市为您收集整理的linux – 如何在bash中进行基本数学运算?全部内容,希望文章能够帮你解决linux – 如何在bash中进行基本数学运算?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。