Проблемы со скриптами Bash

Проблемы со скриптами Bash

Я работаю над сценарием... Не знаю, что с ним не так...

!#/bin/bash
while="true"
while ($while == "true") do
clear
echo "What game would you like to play?"
echo "1. Tetris (bastet)"
read number -P "Enter Number:"
if ( $number == "1" ) then
bastet
clear
read again -P "Would you like to play another game? [y/n]:"
if ($again == "n") then
exit
fi
fi
done

вот мой вывод (который зацикливается):

What game would you like to play?
1. Tetris (bastet)

без запроса от команды чтения

решение1

Вот где хороший табличный формат кода имеет значение для понимания ваших проблем и ошибок. Проблема в том, что вашесли утверждениеникогда не позволяет скрипту выпрыгивать из цикла. Также вы пропускаете некоторые эхо и все остальное, на что указали steeldriver и user4556274.

Я на самом деле не ПЕРЕКОДИРОВЫВАЛ то, что вы написали, так что вы все равно можете почувствовать, где вы ошиблись.

См. мою редакцию:

#!/bin/bash

flag="true"
while [ $flag == "true" ]; do
        clear
        echo "What game would you like to play?"
        echo "1. Tetris (bastet)"
        read number -P "Enter Number:"

        if [ $number -eq "1" ]; then
                bastet
        fi

        clear
        echo "Would you like to play another game? [y/n]:"
        read again -P

        if [ $again -eq "n" ]; then
                exit 1
        fi
done

решение2

В вашем скрипте есть еще несколько ошибок, но, отвечая на ваш конкретный вопрос о read, синтаксис неверен в нескольких отношениях:

попробуйте read -p "Enter Number:" numberвместо этого

Здесьполезная страница относительночитать

Связанный контент