bash中的算术运算:

操作符+、-、*、/、% 

declare:

-i:整型变量

-x:环境变量,类似于export

1、let:进行算术运算,格式为let varName=算术表达式

    如果计算结果为小数,小数部分被省略。

 如:let sum=4+1,结果为5

     echo $sum

     let s=16/3,结果为5

     echo $s 

2、varName=$[算术表达式]


3、varName=$((算术表达式))


4、varName=`expr $num1 + $num2`,注意+好前后要有空格,否个为连字符。


例:写一个脚本,请计算1到100之和。

#!/bin/bash

declare -i sum=0;

for num in {1..100} 

do

let sum=$sum+$num

done

echo $sum

例:写一个脚本,分别计算1到100之奇数之和和偶数之和。

#!/bin/bash

delcare -i oddSum=0,evenSum=0

for i in `seq 1 2 100`

do 

  let oddSum=$oddSum+$i

done

  echo $oddSum


       for i in `seq 2 2 100`

do 

  let evenSum=$evenSum+$i

done

  echo $evenSum

例:计算当前所有用户Id之和

#!/bin/bash

declare -i userIdSum=0

for i in `cut -d: f3 /etc/passwd`

do 

userIdSum=$userIdSum+$i

done

echo $userIdSum

例:计算/etc/rc.d/rc.sysinit /etc/init.d/functions /etc/issue三个文件的字符之和

#!/bin/bash

declare -i charSum=0

for file in /etc/rc.d/rc.sysinit /etc/init.d/functions /etc/issue

do

charSum=$charSum+`wc -c $file|cut -d' ' -f1`

done

例:新建10个用户,tmpUser1-tmpUser10,并计算其Id之和

#!/bin/bash

declare -i userIdSum=0

for i in {1..10}

do 

useradd tmpUser$i

let userIdSum=$userIdSum+`id -u tmpUser$i`

done