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