如何允许 bash shell 脚本在退出前循环重试 3 次(提示输入用户名/密码)

如何允许 bash shell 脚本在退出前循环重试 3 次(提示输入用户名/密码)

我有一个 shell 脚本,它会询问用户名,并根据列表进行检查。如果该名称在列表中,它将运行另一个shell脚本,但如果找不到该名称,则会提示错误消息并退出shell脚本。

但我想在退出 shell 脚本之前允许重试 3 次。

下面是我的shell脚本

#!/bin/bash

name=$(whiptail --title "Title" \
--backtitle "Backtitle" \
--inputbox "Enter your User ID" 0 40 3>&1 1>&2 2>&3)

if [[ -z $name ]]
then
    whiptail --title "Error" --msgbox "Please enter User ID to proceed" 10 50
    . ./start.sh
else
    egrep  -i "\<$name\>" ./user.list
    case $? in
        0)
        . ./main_menu.sh
        ;;
        1)
        whiptail --title "Error" --msgbox "Program terminated. You are not authorised to use this program" 10 50    
        ;;
        esac
fi

答案1

i=0
while [ $i -le 3 ]; do

code && break

let i=i+1
done

这个答案 了解更多详情。

相关内容