码迷,mamicode.com
首页 > 系统相关 > 详细

shell中的算术运算

时间:2018-07-17 10:45:20      阅读:183      评论:0      收藏:0      [点我收藏+]

标签:修改密码   gre   分享图片   alt   方式   现在时间   算术运算   注意   ext   

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

shell中的算术运算

标签:修改密码   gre   分享图片   alt   方式   现在时间   算术运算   注意   ext   

原文地址:http://blog.51cto.com/13803030/2145122

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!