Повторите эхо, пока ответ нет - PullRequest
0 голосов
/ 09 мая 2018

Я очень новичок в написании сценариев Bash, поэтому извините, если вопрос несколько непоследователен.

Я хочу, чтобы мой сценарий повторил вопрос 4 раза, если пользователь ответит «Нет», если пользователь ответит «Да», тогда сценарий может завершиться, это то, что у меня до сих пор

#!/bin/bash
echo "Would you like a cup of tea?"

read answer

while true;

do

        if [ $answer = Y ] then
        echo "Great, I'll make tea now"; then
                break
        if [ $answer = N ] then
        echo "Are you sure?"
        continue
        if [ $answer = N ] then
        echo "Are you sure?"
        continue
        if [ $answer = N ] then
        echo "Are you sure?"
        continue
        if [ $answer = N ] then
        echo "Ok, I give up!"
        exit
fi

1 Ответ

0 голосов
/ 09 мая 2018

Есть много вещей, которые вы должны исправить в своем коде. Я настоятельно рекомендую вам пройти базовый урок, прежде чем продолжить.

В любом случае, самая простая программа, которую вы можете сделать, выглядит примерно так:

count=0
while true;
do
    read -r answer
    if [ "$answer" = "Y" ]; then
        echo "Great, I'll make tea now"
        break
    fi
    if [ "$answer" = "N" ]; then
        echo "Are you sure?"
        count=$((count+1))
        if [ $count = 4 ]; then
            break
        fi
    fi
done

Мы устанавливаем count в число раз, когда пользователь дает «N» в качестве ответа, и мы проверяем, когда оно достигает 4, и прерывается.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...