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       执行脚本

转载于:https://blog.51cto.com/willow/1763691

Linux下Bash编程之算术运算符详解(三)相关推荐

  1. Linux下服务器基本环境搭建步骤详解(三种软件安装方式)

    Linux下服务器基本环境搭建 小伙伴们注意看:下面使用三种方式分别安装JDK.Tomcat.Docker进行演示 操作系统基于CentOs7. 文章目录 Linux下服务器基本环境搭建 前言 一.L ...

  2. linux下Bash编程until语句及格式化硬盘分区等编写脚本(十)

    linux下Bash编程until语句及格式化硬盘分区等编写脚本(十) 1.循环语句结构总结 1.1.while语句当条件满足时,进入循环语句 while 条件; do 语句 done 1.2.unt ...

  3. linux中的文件夹压缩文件,linux将文件拷贝到目录下Linux下文件的压缩与打包详解...

    在Linux中,有很多的压缩命令.利用这些压缩命令,可以方便的从网络上下载大型的文件.同时,我们知道,Linux文件的扩展名是没有特殊意义的,不过,因为Linux下存在着许多压缩命令,所以为了方便记忆 ...

  4. kill -9 进程号杀不死可以用下面的杀掉 Linux下强制杀死进程的方法详解

    常规篇: 首先,用ps查看进程,方法如下: $ ps -ef -- smx 1822 1 0 11:38 ? 00:00:49 gnome-terminal smx 1823 1822 0 11:38 ...

  5. linux oracle 用户创建,LINUX下Oracle数据库用户创建方法详解

    本文实例分析了LINUX下Oracle数据库用户创建方法.分享给大家供大家参考,具体如下: 1)登录linux,以oracle用户登录(如果是root用户登录的,登录后用 su - oracle命令切 ...

  6. Linux redis安装教程,Linux 下redis5.0.0安装教程详解

    Linux redis5.0.0安装,教程如下所示: 1.从官网下载,然后传到服务器,tar -zxvf解压 2.进入redis ? 3.安装:make, (1)若提示:: gcc: Command ...

  7. linux 更新软件命令 失败,对linux下软件(库)的更新命令详解

    在ubuntu服务器下安装包的时候,经常会用到sudo apt-get install 包名 或 sudo pip install 包名,那么两者有什么区别呢? 1.区别 pip用来安装来自PyPI( ...

  8. linux系统电脑的权限设置,Linux下的文件权限设置修改详解linux操作系统 -电脑资料...

    在linux中更改所属用户组是使用chgrp,更改文件拥有者, chown,更改9个属性, chmod这三种常用的问题,在linxu中这三个命令就是对文件目录权限的控制命令了,下面我来介绍它们的用法与 ...

  9. linux下多线程的创建与等待详解 【转载】

    linux下多线程的创建与等待详解 http://blog.chinaunix.net/uid-23842323-id-2656572.html 所有线程都有一个线程号,也就是Thread ID.其类 ...

  10. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解

    <tar解压缩命令 Linux下的tar压缩解压缩命令详解>由会员分享,可在线阅读,更多相关<tar解压缩命令 Linux下的tar压缩解压缩命令详解(14页珍藏版)>请在人人 ...

最新文章

  1. 郑冠杰:KDD Cup城市大脑赛题方法总结!
  2. C语言关闭文件总是错误,C语言程序错误,不能正常读写文件,求解啊
  3. Linux下如何把时间转成秒数,或把秒数转换成标准时间
  4. Windows和Linux双系统时间不对的问题。
  5. 【推荐系统】双塔模型中的负采样
  6. [leetcode]15.三数之和
  7. Regarding empty field check in business document save
  8. 巧妙地在Windows搭建node服务器
  9. android屏幕基础知识
  10. Android OpenGLES2.0(十六)——3D模型贴图及光照处理(obj+mtl)
  11. Unity内存管理你应该知道的底层原理
  12. nagios整合ganglia实现hadoop、Hbase监控及手机短信报警
  13. Noiseware 5 降噪滤镜
  14. python xlwt 写入Excel
  15. @codeforces - 793G@ Oleg and chess
  16. cocos2d-x实现透视朦胧光照效果
  17. 历史最全自然语言处理测评基准分享-数据集、基准(预训练)模型、语料库、排行榜
  18. JAVA微信公众号后台开发 接口接入
  19. android后台模拟单机,《仙梦奇缘》安卓手游 手工端 含GM后台 含文字架设教程
  20. localStroage

热门文章

  1. jQuery中将表格以交替颜色显示
  2. Beta冲刺-第二天
  3. 数据库问题6-將系統資料表對應至系統檢視
  4. Spring整合Struts2,Hibernate的xml方式
  5. Effective C++ 读书笔记之Part6.Inheritance and Object-Oriented Design
  6. ThinkPad特有设计和特色软件
  7. 生存的关键往往在于偶然的机遇——李光耀
  8. poj2386(简单的dfs/bfs)
  9. Ubuntu下安装MySQL及简单操作
  10. 20162319莫礼钟 2016-2017-2 《程序设计与数据结构》第2周学习总结