简单的几个shell脚本二



1、查询一个文件中空白行行数。

#!/bin/bash
FILE=/etc/inittab
if [ ! -e $FILE ];then
   echo "No $FILE"
   exit 8
fi
if grep "^$" $FILE &> /dev/null;then
   echo "Total blank line:`grep "^$" $FILE |wc -l`."
else
   echo "No blank line."
fi

2、判断一个用户的UID和GID是否相等

#!/bin/bash
USERNAME=user1
if ! grep "^$USERNAME\>" /etc/passwd &> /dev/null;then
   echo "No such user: $USERNAME."
   exit 1
fi

USERID=`id -u $USERNAME`
GROUPID=`id -g $USERNAME`
if [ $USERID -eq $GROUPID ];then
   echo "Good guy."
else
   echo "Bad guy."
fi

3、判断用户密码是否过期

#!/bin/bash
#
USERNAME=user1
`id $USERNAME &> /dev/null`
M=$?
if [ ! $M -eq 0 ];then
   echo "No such user: $USERNAME"
   exit 1
fi
W=`grep "^$USERNAME" /etc/shadow |cut -d: -f6`
S=`date +%s`
T=`expr $S / 86400`
L=`grep "^$USERNAME" /etc/shadow |cut -d: -f5`
N=`grep "^$USERNAME" /etc/shadow |cut -d: -f3`
H=`expr $T - $N`
U=`expr $L - $H`
if [ $U -lt $W ];then
   echo "Worning."
else
   echo "ok."
fi

注意:可以使用bash -x XX.sh进行测试程序执行

5.多分支判断指定文件的类型

#!/bin/bash
#
FILE=/etc/passwd
if [ ! -e $FILE ];then
   echo "No such file."
fi
if [ -f $FILE ];then
   echo "common file."
elif [ -f $FILE ];then
   echo "Directory."
else
   echo "Unknow."
fi




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值