一个简单的shell脚本

#! /bin/bash
# expriment_1.sh check.dat sign_in.dat userinfo.dat
login_in(){
echo "******************************************"
echo "用户名:"
read username
echo "密码:"
read password
echo ""
echo ""
echo ""
}

check(){
echo "******************************************"
echo "1: 上班签到"
echo "2: 下班签出"
echo "3:缺勤信息查阅"
echo ""
echo "输入选项:"
read choice
time=`date +%H`
fulltime=`date +%F%r`
case $choice in
     1)
     echo "用户 ${username} 上班时间  ${fulltime}" >> sign_in.dat #重定向,>是覆盖,>>是追加
     if [ $time -ge 8 ]
     then
     	 echo "上班迟到!"
     	 echo "用户 ${username} 上班迟到  ${fulltime}" >> check.dat
     else
         echo "上班签到成功!"
     fi 
     ;;
     
     2)
     echo "用户 ${username} 下班时间  ${fulltime}" >> sign_in.dat
     if [ $time -lt 18 ]
     then
     	 echo "下班早退!"
     	 echo "用户 ${username} 下班早退  ${fulltime}" >> check.dat
     else
         echo "下班签出成功!"	 
     fi 
     ;;
     
     3)
     while read line
     do
       arr=($line)        #将一个字符串按空格分开,变成一个数组
     	if [ ${arr[1]} = $username ]
           then
           echo $line
     	fi
     done< ./check.dat
     ;;
     
     *)
     echo "你应该选择1,2,或3,请正确选择!"
     ;;
esac

}
while true

do
login_in
messege="${username} ${password}"
flag=0;                      #赋值时不能有空格

while read line 
do
  if [ "$line" = "$messege" ] #有空格的字符串比较时,加""
  then
       flag=1;
  fi
done < ./userinfo.dat         #read 被重定向,如果在里面使用read,将在重定向处读入

if [ $flag -eq 1 ]            #两边要有空格
then 
check
fi

done

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值