Я пытаюсь написать скрипт, который показывает пользователю вопрос: «Вам еще не скучно? (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, он дает одинаковый результат для его закрытия.
Есть идеи, как правильно составить сценарий?
Добавьте цикл 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