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

バラよりこの回答 もっと学ぶ。

おすすめ記事