如何在shell脚本中进行算术运算??

首先说明一点:在shell中不支持浮点数;计算结果中的浮点数会被圆整为整数:1.23=1;1.99=1

运算类型:+,-,*,/;

算术运算的实现方式expression:运算方式

      $[expression]    例:echo$[$A+$B]

      $((expression))   例:$(($A+$B))

      let expression    例:letE=$A+$B  echo $E

      expr expression   例:F=`expr $A+ $B`

223324979.png

223350355.png


练习:写一个脚本

显示/var/目录下每个文件的内容类型,并统计文件的总数;


#!/bin/bash

#

Count=0

for File in /var/*; do

file $File

Count=$[$Count+1]

done

echo "Total files: $Count."


练习:写一个脚本,计算100以内,所有偶数的和,以及所有奇数的和;


#!/bin/bash


EvenSum=0

OddSum=0


for I in `seq 1    2 100`; do

OddSum=$[$OddSum+$I]

done


for I in `seq 2    2 100`; do

EvenSum=$[$EvenSum+$I]

done


echo "Even Sum:$EvenSum; Odd Sum: $OddSum."


练习:写一个脚本,计算当前系统上所有用户的ID号之和;

#!/bin/bash

IDSum=0


for I in `cut -d: -f3 /etc/passwd`; do

IDSum=$[$IDSum+$I]

done


echo "ID sum is: $IDSum."