09 Arithmetic Operations - kumar159man/MyShellLearning GitHub Wiki
By default shell takes a variable type as string
myubuntu@myubuntu-VirtualBox:~$ x=5 myubuntu@myubuntu-VirtualBox:~$ y=5 myubuntu@myubuntu-VirtualBox:~$ sum=$x+$y myubuntu@myubuntu-VirtualBox:~$ echo $sum 5+5
Sum
myubuntu@myubuntu-VirtualBox:~$ x=5 myubuntu@myubuntu-VirtualBox:~$ y=3 myubuntu@myubuntu-VirtualBox:~$ ((sum=x+y)) myubuntu@myubuntu-VirtualBox:~$ echo $sum 8
Substraction
myubuntu@myubuntu-VirtualBox:~$ ((sub=x-y)) myubuntu@myubuntu-VirtualBox:~$ echo $sub 2
Multiplication
myubuntu@myubuntu-VirtualBox:~$ ((mul=x*y)) myubuntu@myubuntu-VirtualBox:~$ echo $mul 15
Modulus
myubuntu@myubuntu-VirtualBox:~$ ((rem=x%y)) myubuntu@myubuntu-VirtualBox:~$ echo $rem 2
Division
myubuntu@myubuntu-VirtualBox:~$ ((div=x/y)) myubuntu@myubuntu-VirtualBox:~$ echo $div 1
If we see the division result is not proper. (()) is not suited for float values
myubuntu@myubuntu-VirtualBox:~$ a=5.6 myubuntu@myubuntu-VirtualBox:~$ b=3.2 myubuntu@myubuntu-VirtualBox:~$ ((sum=a+b)) bash: ((: 5.6: syntax error: invalid arithmetic operator (error token is ".6")
bc -> bash calculator is used to handle floating point numbers
myubuntu@myubuntu-VirtualBox:~$ a=3.6 myubuntu@myubuntu-VirtualBox:~$ b=4.5 myubuntu@myubuntu-VirtualBox:~$ bc<<<"$a+$b" 8.1
myubuntu@myubuntu-VirtualBox:~$ x=10 myubuntu@myubuntu-VirtualBox:~$ y=3 myubuntu@myubuntu-VirtualBox:~$ bc<<<"$x/$y" 3
After using bc also we are not able to see the exact result
myubuntu@myubuntu-VirtualBox:~$ bc<<<"scale=2; $x/$y" 3.33 myubuntu@myubuntu-VirtualBox:~$ bc<<<"scale=3; $x/$y" 3.333 myubuntu@myubuntu-VirtualBox:~$ bc<<<"scale=4; $x/$y" 3.3333