Bash 쉘 스크립트가 종료되기 전에 3번 반복하고 재시도하도록 허용하는 방법(사용자 이름/비밀번호를 묻는 메시지 표시)

Bash 쉘 스크립트가 종료되기 전에 3번 반복하고 재시도하도록 허용하는 방법(사용자 이름/비밀번호를 묻는 메시지 표시)

사용자 이름을 요청하고 목록을 확인하는 쉘 스크립트가 있습니다. 이름이 목록에 있으면 다른 쉘 스크립트를 실행하지만 이름을 찾을 수 없으면 오류 메시지를 표시하고 쉘 스크립트를 종료합니다.

하지만 쉘 스크립트를 종료하기 전에 3번의 재시도를 허용하고 싶습니다.

아래는 내 쉘 스크립트입니다

#!/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

바라보다이 답변 더 알아보기.

관련 정보