Bash, проверка переменной

Итак, я пытаюсь запустить скрипт, где, если пользователь вводит y или же Yто вывод YES но если пользователь вводит n или же N тогда вывод NOвот что у меня так далеко:

read character
if (( ("$character") == "y" )) || (( ("$character" == "Y") )); then
echo "YES"
else
echo "NO"
fi

Когда я запускаю этот код, я получаю YES успешно, но ввод n просто приводит к YES тем не мение.

Я понятия не имею, что я делаю не так, и я хотел бы получить какой-либо вклад.

Заранее спасибо!

1 ответ

Решение

((...)) используется для математических расчетов. Ты можешь использовать [[...]] в BASH вот так:

read character
if [[ "$character" == [yY] ]]; then
   echo "YES"
else
   echo "NO"
fi

Также я объединил 2 условия в одно использование [yY] образец шара.

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