Linux下Bash编程之算术运算符详解(三)
shell算术运算表示如下:
1、let 算术运算表达式
let C=$A+$B
2、$[算术运算表达式]
C=$[$A+$B]
3、$((算术运算表达式))
C=$(($A+$B))
4、expr 各操作数及运算符之间要有空格,且要使用命令引用
C=`expr $A + $B`
举例说明:
1.指定一个用户,判断用户密码剩余使用期限是否已经小于警告期限;
如果小于警告期限,则显示“Password will expire --> Warning”;否则,就显示“OK”
提示:最长使用期限减去已经使用的天数即为剩余使用期限;
vim shadowdate.sh 创建一个脚本文件并添加以下内容:
#!/bin/bash
USERNAME=willow 指定一个用户,并设置变量
RECE=`grep "\<$USERNAME\>" /etc/shadow | cut -d: -f3` 最近修改密码时间
LONG=`grep "\<$USERNAME\>" /etc/shadow | cut -d: -f5` 最长密码使用期限
EXPI=`grep "\<$USERNAME\>" /etc/shadow | cut -d: -f6` 警告期限
CURR=`date +%s` 从1970/01/01到今天,共多少秒
let TODAY=$CURR/86400 从1970/01/01到今天,共多少天
#let USERDAYS=$TODAY-$RECE 注释:密码已使用多少天 其中之一表法方法
#USERDAYS=$[$TODAY-$RECE] 注释:密码已使用多少天 其中之二表法方法
USERDAYS=$(($TODAY-$RECE)) 密码已使用多少天 其中之三表法方法
LEFT=`expr $LONG - $USERDAYS` 剩余使用期限
if [ $LEFT -lt $EXPI ]; then
echo "Password will expire --> Warning"
else
echo "Password is OK"
fi
chmod a+x shadowdate.sh 授于执行权限
./shadowdate.sh 执行脚本
本文出自 “夏维柳” 博客,请务必保留此出处http://willow.blog.51cto.com/6574604/1763691
原文地址:http://willow.blog.51cto.com/6574604/1763691