用shell实现密码验证

解题思路:使用shell中egrep命令进行过滤,条件都满足时,命令的执行结果为0;条件有一个不满足时,命令的执行结果为非零。

密码验证条件:

1.长度不小于8位;

2.包含大小写;

3.包括特殊字符

答案:

#!/bin/bash

read -s -p"请输入您的密码:" password
echo $password|egrep [a-z]|egrep [A-Z]|egrep [0-9]|egrep [^0-Z] &>/dev/null
if (( $?==0 ))
then
    len=${#password}
    if (( len>8 ))
    then
        echo -e "\nthe password is valid!"
    else
        echo -e "\nthe password is not valid!"
    fi
else
    echo -e "\nthe password is not valid!"
fi

知识扩展1:grep是Linux中的过滤命令,egrep代表grep支持扩展正则

[0-9]:包含0-9的数字就查找出来

[a-z]:包含小写字母的就查找出来

[A-Z]:包含大写字母的就查找出来

[0-z]:包含数字和小写字母的就查找出来

[0-Z]:包含数字和大小写字母的就查找出来

[a-Z]:包含大小写字母的就查找出来

知识扩展2:重定向

1>:正确的重定向

2>:错误的重定向

&>:正确和错误的都重定向

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值