Shell笔记1-bash数学运算
2020-08-29 10:48
1116 查看
bash数学运算
1.expr $num1 operator $num2
~$ num1=2 ~$ num2=4 ~$ expr $num1 > num2 ~$ expr $num1 \> num2 0 ~$ expr $num1 + $num2 6 ~$ expr $num1 \* $num2 8 ~$ expr $num1 % $num2 2 ~$ expr $num1 = $num2 0 ~$ expr $num1 != $num2 1 ~$ expr $num1 >= $num2 expr: syntax error ~$ expr $num1 \>= $num2 0 ~$ expr $num1 \<= $num2 1 ~$ expr $num1 \| $num2 2 ~$ expr $num1 \& $num2 2 ➜ shell
2.((((((num1 operator $num2))
~$ echo $((num1+num2)) 24 ~$ num1=2 ~$ echo $((num1+num2)) 6 ~$ echo $((num1-num2)) -2 ~$ echo $((num1*num2)) 8 ~$ echo $((num1>num2)) 0 ~$ echo $((num1<num2)) 1 #不准 ~$ echo $((num1&num2)) 0 #不准 ~$ echo $((num1|num2)) 6 ~$ echo $((num1%num2)) 2 #不准 ~$ echo $((num1=num2)) 4
**总结:**建议大家使用expr,因为其精准性比较高
练习
**需求描述:**提示用户输入一个正整数num,然后计算1+2+3+…+sum的值;必须对num是否为正整数做判断,不符合应当允许再次输入
#!/bin/bash # while true do read -p "pls input a positive number:" num #判断变量是否为正整数 #进行运算并将结果丢到垃圾桶里 expr $num + 1 &> /dev/null #$?判断是否能够进行数学运算 #可以$?!=0 #不可以$?=0 if [ $? -eq 0 ];then if [ `expr $num \> 0` -eq 1 ];then sum=0 for((i=1;i<=$num;i++)) do sum=`expr $sum + $i` done echo "1+2+3+...+$num = $sum" exit else echo "error,input unlegal" exit fi fi echo "input,echo enlegal" done
相关文章推荐
- 【鸟哥的linux私房菜-学习笔记】Bash shell之管线命令
- Shell学习笔记——算数运算与条件测试
- bash shell笔记6 脚本控制
- BashShell笔记 (一)
- 通过shell进行数学运算的多种方式
- Shell中数学计算/运算
- shell中的数学运算
- bash特性之逻辑运算和shell脚本的编写
- bash shell笔记4 处理用户输入(交互)
- Shell脚本学习笔记(三)--算术运算
- shell 数学运算
- shell 执行数学运算
- Bash shell 的算术运算有四种方式
- Shell学习笔记——算数运算与条件测试
- 学习笔记——shell中进行数学运算的方法
- bash shell笔记7 创建函数
- shell中数学运算
- 笔记:Shell脚本文件报错:-bash: ./xxx.sh: /bin/bash^M: bad interpreter: No such file or directory
- shell使用笔记-算术运算
- [Shell]Bash变量:数值运算及运算符