You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Shell脚本使用while循环实现密码一致性校验的问题求助

Shell 密码一致性循环校验实现方案

以下是修改后的可直接运行的完整代码:

#!/bin/bash
# 用户名仅需输入一次,放在循环外即可
read -p "Input new username please?: " user

# 启动无限循环处理密码校验逻辑
while true
do
    # 新增-s参数隐藏密码输入,符合常规密码输入安全要求,不需要可删除
    read -s -p "Input password: " password
    # 补充换行,避免后续提示和上一行挤在同一行
    echo
    read -s -p "Re-enter password: " verify
    echo

    if [ "$password" != "$verify" ]
    then
        echo "Password does not match. Please try again."
    else
        echo "Password Successful!!"
        # 密码匹配,直接跳出循环,执行后续业务逻辑
        break
    fi
done

实现逻辑说明

  • 用户名不需要重复输入,因此保留在循环外部执行
  • 使用while true启动无限循环,所有密码输入、校验逻辑全部放在循环体内
  • 两次密码输入一致时,执行break命令终止循环,继续执行循环外的后续脚本逻辑
  • 密码不一致时,循环会自动回到起点,要求用户重新输入密码
  • 额外补充的-s参数会隐藏用户输入的密码内容,不需要该特性直接删除该参数即可

内容的提问来源于stack exchange,提问作者JHussle

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 06:42:01