shell中的算术运算方式有很多种,如,A=1,B=2,那么要怎么计算A+B的值了? 不能简单的$A+$B,如果这样运算的话,得出的结果为1+2,显然不是我们想要的结果,要的出结果为3,我们有一下几中方法:

	1.let C=$A+$B,echo $C 输出的值就为3
	2.C=$((  $A+$B  ))
	3.C=$[$A+$B]
	4.C=`expr $A + $B` (需要注意+号与两边的数值之间要有空格隔开,否则C的结果为1+2)
	5.。。。

练习:写一个脚本 给定一个用户,获取其密码警告期限;而后判断用户密码剩余使用期限是否已经小于警告期限;( 提示:计算方法,最长使用期限减去已经使用的天数即为剩余使用期限;然后剩余天数和警告天数比较)如果小于,则显示“Warning”;否则,就显示“OK”。 分析:

	#!/bin/bash
	user="student"
	mast_time=`grep "^$user\>" /etc/shadow | cut -d: -f5` #最长时间
	now_time=$((`date +%s`/86400))    #现在时间距1970-1-1有多少天
	modify_time=`grep "^$user\>" /etc/shadow | cut -d: -f3`   #最近一次修改密码时间距1970-1-1过了多少天
	use_time=$(($now_time-$modify_time)) #已经使用了的时间
	remain_time=$(($mast_time-$use_time)) #剩余时间
	warning_time=`grep "^$user\>" /etc/shadow | cut -d: -f6` #警告天数

	#打印出这些时间
	echo "mast  $mast_time"
	echo "now $now_time"
	echo "modify  $modify_time"
	echo "use $use_time"
	echo "remain $remain_time"
	echo "warning $warning_time"


	if [[ $remain_time -le $warning_time ]];then
		echo "warning"
	else
		echo "ok"
	fi