如何在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`
练习:写一个脚本
显示/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."