Bash-скрипт, который завершается, когда пользователь вводит определенный ввод

Я пытаюсь написать скрипт, который показывает пользователю вопрос: «Вам еще не скучно? (1 = Да; 2 = Нет) ". Сценарий должен работать, пока пользователь не нажмет 2. Я новичок в Bash, и до сих пор я потратил около 6 часов на написание этого сценария:

#!/bin/bash
echo "Are you boring yet ? No = 1 , Yes = 2"
read $1
if [[ $1 -eq 1 ]]
then
echo "Are you boring yet ? No = 1 , Yes = 2"
read $2
if [[ $2 != 2 ]]
then
break
fi
fi

Но независимо от того, нажимаю ли я 1 или 2, он дает одинаковый результат для его закрытия.

Есть идеи, как правильно составить сценарий?

-1
задан 2 June 2021 в 12:41

1 ответ

Добавьте цикл while, и вам нужно будет задать вопрос только один раз. Пока вы продолжаете нажимать 1, он будет повторяться снова и снова, пока не будет нажата 2, затем вызывается break для выхода из цикла. Кроме того, просто используйте имя для присвоения переменных, а затем используйте $ name для вызова переменной. Для примера я использовал мусор .

#!/bin/bash

while true
do
    echo "Are you bored yet? No = 1, Yes = 2"
    read junk
    if [[ $junk -eq 2 ]]; then
        break
    fi
done
4
ответ дан 28 July 2021 в 11:33

Другие вопросы по тегам:

Похожие вопросы: