Форум русскоязычного сообщества Ubuntu


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: bash. пустой ответ на вопрос в скрипте, как ответ по умолчанию?  (Прочитано 1513 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Допустим есть простой скрипт:

#!/bin/bash

read -p "Do something? : [y\n] " -n 1 -r REPLY

    if [[ $REPLY =~ [Yy] ]]; then
        echo "Yes"
    elif [[ $REPLY =~ [Nn] ]]; then
        echo "No"
    elif [[ ! $REPLY =~ [Nn]|[Yy] ]]; then
        echo "What?"
    fi

С этим вариантом всё понятно. А вот как сделать, чтобы если пользователь отвечал просто вводом, то это засчитывалось как [yY], т.е. как бы ответ по умолчанию? Пытался гуглить, но, видимо, не могу корректно сформулировать вопрос по "англицки" - всё время всякую фигню выдаёт. :(

Оффлайн EvangelionDeath

  • Администратор
  • Старожил
  • *
  • Сообщений: 3487
  • Ubuntu 22.04 х64
    • Просмотр профиля
BAKT, подсказка:

Код: (bash) [Выделить]
if [[ "x$REPLY" = "x" ]]; then
HP Pro 840 G3: Intel i5-6300U, 32GB DDR4 2133MHz, Intel 520, Intel Pro 2500 180GB/Ubuntu 22.04
Dell Latitude 5590: Intel i5-8350U, 16GB DDR4 2400MHz, Intel 620, Samsung 1TB/Ubuntu 22.04

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Простите, моих знаний пока не хватает, чтобы по такой подсказке понять ответ (именно по этому до сих пор и создаю темы в разделе для новичков :)). Не могли бы вы чуть подробнее ответить?

Оффлайн ALiEN

  • Администратор
  • Старожил
  • *
  • Сообщений: 7810
  • We were here
    • Просмотр профиля
BAKT, если переменная "пустая" - те x=x, выполнить условие.
Должна также работать конструкция
if [[ -z $REPLY ]]; thenпосмотреть опции можно
man test
(Нажмите, чтобы показать/скрыть)
🖥 AsRock B550M Pro4 :: AMD Ryzen 5 3600 :: 16 GB DDR4 :: AMD Radeon RX 6600 :: XFCE
💻 ACER 5750G :: Intel Core i5-2450M :: 6 GB DDR3 :: GeForce GT 630M :: XFCE

Оффлайн BAKT

  • Автор темы
  • Участник
  • *
  • Сообщений: 112
    • Просмотр профиля
Во! Так гораздо понятнее. Спасибо за подробный и развернутый ответ.

 

Страница сгенерирована за 0.016 секунд. Запросов: 19.