Bash shell 中的正则表达式密码验证

2023-12-11

我正在使用正则表达式Bash shell 脚本。我使用下面的正则表达式代码来检查密码标准:密码长度应至少为 6 个字符,其中至少有一位数字和至少一个大写字母。我在正则表达式验证工具中进行了验证,我形成的正则表达式工作正常。但是,它在 Bash Shell 脚本中失败。请提供您的想法。

echo "Please enter password for User to be created in OIM: "
echo "******Please Note: Password should be at least 6 characters long with one digit and one Upper case Alphabet******"
read user_passwd
regex="^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)\S{6,}$"
echo $user_passwd
echo $regex
if [[ $user_passwd =~ $regex ]]; then
    echolog "Password Matches the criteria"
else
    echo "Password criteria: Password should be at least 6 characters long with one digit and one Upper case Alphabet"
    echo "Password does not Match the criteria, exiting..."
    exit
fi

BASH 正则表达式引擎不支持正则表达式中的环视。

您可以使用以下 shell glob 检查来确保密码符合您的条件:

[[ ${#s} -ge 6 && "$s" == *[A-Z]* && "$s" == *[a-z]* && "$s" == *[0-9]* ]]

它将确保输入字符串$s满足所有这些条件:

  • 至少 6 个字符长
  • 至少有一位数字
  • 至少有一个大写字母
  • 至少有一个小写字母
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Bash shell 中的正则表达式密码验证 的相关文章

  • CentOS目录结构是树形的吗?

    CentOS 上有相当于树的东西吗 如果你的 Centos 系统上没有安装 tree 无论如何我通常建议服务器设置使用最小安装磁盘 你应该在命令行中输入以下内容 yum install tree y 如果没有安装 那是因为您没有正确的存储库
  • “grep -q”的意义是什么

    我正在阅读 grep 手册页 并遇到了 q 选项 它告诉 grep 不向标准输出写入任何内容 如果发现任何匹配 即使检测到错误 也立即以零状态退出 我不明白为什么这可能是理想或有用的行为 在一个程序中 其原因似乎是从标准输入读取 处理 写入
  • 在 shell 脚本中连接命令字符串

    我正在维护一个现有的 shell 脚本 它将命令分配给 shell 脚本中的变量 例如 MY COMMAND bin command dosomething 然后接下来 它通过执行以下操作将 参数 传递给 MY COMMAND MY ARG
  • Inotify linux 监视子目录

    是否可以以这种模式监视目录 storage data usernames Download gt storage data Download 我需要监视每个用户的下载文件夹中是否进行了更改 也许我需要创建所有路径的列表 将其放入数组中 并在
  • 未找到命令“ember”

    看来我搞砸了 ember cli 安装 我已经使用 sudo 安装了 npm 但是在阅读了 npm 上 ember cli 和 sudo 的一些问题后 我按照此处的说明卸载并重新安装https gist github com isaacs
  • 目录 * 和文件顺序

    我需要将目录中的所有文件连接到一个文件 但具有指定名称的文件必须位于输出的顶部 只是在做cat gt result将按字母顺序连接所有文件 有什么办法告诉猫放置文件vars css或任何其他输出的开头 现在我只是重命名文件需要首先000 f
  • 如何显示 zsh 函数定义(如 bash“type myfunc”)?

    如何在 zsh 中显示函数的定义 type foo没有给出定义 在bash中 bash function foo echo hello bash foo hello bash type foo foo is a function foo e
  • 文本处理问题:删除其中一列不包含特定值的行

    我有一个制表符分隔的文件 如下所示 input sequence match sequence score receptor group epitope antigen organism ASRPPGGVNEQF ASRPPGGVNEQF
  • 如何将参数传递给java bash脚本? [复制]

    这个问题在这里已经有答案了 我有一个简单的 bash 脚本来运行我的 java 程序 就这个 run sh bin sh java jar target my jar arch jar 我想将参数传递给这个脚本 该脚本必须将它们传递给jav
  • Bash 脚本大小限制?

    我有一个 bash 脚本 在 RHEL 或 OS X 上运行时出现以下错误 第 62484 行 意外标记 换行符 附近出现语法错误 第 62484 行 o gz 这是一个自动生成的脚本 用于解决我公司使用的 Grid Engine 计算集群
  • 如何使用 bash 显示具有两个子文件夹的文件夹?

    我通过 Cygwin 使用 bash 我有一个大文件夹 a 有很多子文件夹 b 这些子文件夹各有一个或两个子文件夹 c 我想找到所有有两个子文件夹 c 的子文件夹 b 并输出它们 结构如下 a b1 c1 b2 c1 c2 b3 c1 c2
  • 从 Amazon S3 存储桶下载文件的脚本

    尝试编写脚本以从 Amazon S3 存储桶下载文件 cURL 网站上的示例遇到问题 下面的脚本产生 我们计算的请求签名与您的签名不匹配 假如 检查您的密钥和签名方法 感谢任何帮助 bin sh file filename php buck
  • 在 bash 中使用单个命令为 shell 变量分配默认值

    我对 bash 3 00 shell 脚本中的变量进行了大量测试 如果未设置变量 则它会分配默认值 例如 if z VARIABLE then FOO default else FOO VARIABLE fi 我似乎记得有一些语法可以在一行
  • 如何在递归调用函数时阻止 bash 创建子 shell

    这是一个计算阶乘的简单 shell 函数 bin bash function factorial if 1 lt 2 then echo 1 else echo 1 factorial 1 1 fi factorial 1 但我发现这个脚本
  • 仅打印“docker-container ls -la”输出中的“Names”列

    发出时docker container ls la命令 输出如下所示 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a67f0c2b1769 busybox tail f dev
  • 如何在 Linux 中编写文本模式 GUI? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 当我编写脚本 程序时 我经常想弹出一个简单的文本 gui 来提示输入 我该怎么做 例如 来自 Shel
  • git 别名中的 AWK 语句

    我正在尝试创建一个 git 别名来以特定格式打印日志中的所有拉取请求 但是 我在使用 AWK 删除双空格时遇到问题 这是使用以下命令的 git log 的输出 git log merges grep pull request pretty
  • 迭代 bash 脚本中的变量名称

    我需要在一堆文件上运行一个脚本 这些文件的路径被分配给train1 train2 train20 我想 为什么不使用 bash 脚本使其自动执行呢 所以我做了类似的事情 train1 path to first file train2 pa
  • 如何判断 Bash 中是否存在文件?

    这会检查文件是否存在 bin bash FILE 1 if f FILE then echo File FILE exists else echo File FILE does not exist fi 我如何只检查文件是否存在not ex
  • 添加要在给定命令中运行的 .env 变量

    我有一个 env 文件 其中包含如下变量 HELLO world SOMETHING nothing 前几天我发现了这个很棒的脚本 它将这些变量放入当前会话中 所以当我运行这样的东西时 cat env grep v xargs node t

随机推荐

  • 发布管道无权执行操作“Microsoft.Web/sites/config/list/action”

    我有一个 DevOps 发布管道 通过虚拟机上的 CLI 愉快地推送到开发资源组 当我添加一个阶段推送到相同的 QA 资源组时 我得到以下结果 错误 AuthorizationFailed 对象 ID 为 的客户端 无权在范围 subscr
  • 在jQuery中,如何高效地添加大量元素?

    我目前有真值表生成器的草图 虽然它工作得很好 但速度相当慢 我添加到的每个布尔值组合 table 使用 jQuery 对于每个值 有一个 td 元素由 jQuery 创建 然后添加到 table 此外 我使用 jQuery UI 来制作漂亮
  • 如何知道堆栈函数消耗了多少?

    最近 我在采访中遇到了这样一个问题 我们如何确定特定函数消耗了多少堆栈存储空间 众所周知 堆栈 是平台的实现细节 无法从语言本身内部检查或以任何方式查询 本质上不可能保证 C 或 C 程序的任何部分是否可以进行另一个函数调用 堆栈大小 或者
  • 如何理解“warp 中的所有线程同时执行相同的指令”。在 GPU 中?

    我在读专业CUDA C编程 并在GPU 架构概述部分 CUDA 采用单指令多线程 SIMT 架构来管理和执行 32 个线程组 称为 warp warp 中的所有线程同时执行相同的指令 每个线程都有自己的指令地址计数器和寄存器状态 并根据自己
  • 如何复制 Xcode 项目来创建免费应用程序的付费版本

    我有一个免费的应用程序 我想制作一个付费版本 我尝试创建一个新项目并将类复制到其中 但不是很简单 有没有更简单的方法呢 我复制了目标 但是我可以通过什么方式在一个目标上设置指定的代码 并在另一个目标上设置另一个代码 你能帮助我吗 Paul
  • 如何获取邮政编码的纬度和经度?

    我需要一些帮助来动态获取用户输入的邮政编码的纬度和经度 这样我就可以在邮政编码的这些区域显示商店地址 谷歌正在运行某种地理编码 你应该检查一下 它可能对你有帮助http code google com apis maps documenta
  • Node.js - MySQL 中的“PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR”

    我正在尝试编写一个Node Express来提供REST服务 应用程序启动时一切顺利 然而 几个小时后 我收到一个错误 code PROTOCOL ENQUEUE AFTER FATAL ERROR fatal false 看来有些资源即将
  • 给定 n,对 n 的数字求和。如果该值超过一位数,则继续减少产生一位数

    def digital root n x str n while len x 0 and len x 1 r 0 for i in range len x r r int x i x str r return r 数字根是数字中所有数字的递
  • Spark MapReduce 中的意外结果

    我是 Spark 新手 想了解 MapReduce 是如何在幕后完成的 以确保我正确使用它 这个帖子提供了一个很好的答案 但我的结果似乎不符合所描述的逻辑 我正在运行Spark 快速入门Scala 命令行指南 当我正确地添加行长度时 结果就
  • 类助手不会覆盖祖先的虚拟方法

    我一直将类助手理解为扩展类或部分类 它们的作用就像原始基类代码的扩展 如果我复制代码的接口部分并将其添加到基类中 并在实现中也这样做 那么代码的运行方式将与助手的运行方式完全相同 这让我始终了解助手中的多态性以及为什么它们不能重写基类中的方
  • Facebook 的通知(数据库实现)

    我想知道 Facebook 如何实现他们的通知系统 因为我想做类似的事情 FooBar 评论了你的状态 Red1 Green2 和 Blue3 对您的照片发表了评论 MegaMan 和其他 5 人评论了您的活动 我无法将多个通知写入单个记录
  • 读取文件时脚本跳过第二个 for 循环

    我正在尝试读取日志文件并将某些值与预设阈值进行比较 我的代码设法记录第一个的原始数据for在我的函数中循环 我添加了打印语句来尝试弄清楚发生了什么 并且我成功地推断出我的第二个 for 循环从未 发生 这是我的代码 def smartTes
  • 将 DataAnnotations 添加到自动生成的 DBML 类? MVC 2.0 ASP.NET

    我担心这样做 因为当 dbml 文件再次自动生成时 通常是这样 我的更改将被覆盖 我正在考虑做一个部分类并写出相同的属性来注释它们 但担心它会抱怨重复 而我什至无法实验的原因让我想到了问题的第二部分 我的 dbml 文件列表上的可扩展箭头丢
  • itextsharp 中的阿拉伯语编码

    当我尝试使用 C 这段代码创建阿拉伯语 PDF 时 生成的 PDF 文件包含离散字符 有什么帮助我无法获得连续字符吗 Create our document object Document Doc new Document PageSize
  • stl() 分解不接受单变量 ts 对象?

    我对 R 中的 stl 时间序列分解函数有疑问 告诉我我的 ts 对象不是单变量 而实际上它是单变量 tsData lt ts data dummyData start c 2012 1 end c 2014 12 frequency 12
  • 使用带有类别的 dplyr

    我有一个数据集 其中包含不同地点不同物种的计数值 该数据集不包括对物种进行调查但未发现的地点 计数 0 我尝试使用 dplyr Complete 函数来填写所有站点 但我不断收到以下错误消息 Error by can t contain j
  • 当我从模型中读取项目时,项目从组合框中消失

    I have QComboBox我设置了QStandardItemModel因为我需要其中的多选复选框 问题是 当我读取文本值并检查组合框中项目的状态时 它们从组合中消失 这就是我将模型设置为组合框的方法 areas Area one Ar
  • 将 vba 转换为 vb6 并创建 .dll - 操作方法 - 提示、技巧和风险

    我应该将用 VBA Excel 编写的大量代码转换为 VB6 但我真的不知道我必须照顾什么或从哪里开始 因此 如果能从 VB6 专家那里得到一些提示那就太好了 我已经安装了 MS Visual Studio 并进行了一些尝试 但我不是 VB
  • VBA 复制并粘贴枢轴值和格式

    我尝试复制并粘贴数据透视表 但我想保留值和格式 Sub PivotTablePaste Set pt Worksheets Sheet1 PivotTables 1 pt TableRange2 Copy With Worksheets S
  • Bash shell 中的正则表达式密码验证

    我正在使用正则表达式Bash shell 脚本 我使用下面的正则表达式代码来检查密码标准 密码长度应至少为 6 个字符 其中至少有一位数字和至少一个大写字母 我在正则表达式验证工具中进行了验证 我形成的正则表达式工作正常 但是 它在 Bas