Проблема чтения сценария оболочки [закрыто]

Я пытаюсь создать сценарий оболочки с помощью команды read , чтобы при запуске сценария он задаст пользователю вопрос «да» или «нет». Если пользователь набирает yes , сценарий продолжается, а если он пишет no , он останавливается.

Каков синтаксис для использования команды read таким образом?

Я использую Ubuntu 13.04.

0
задан 8 June 2014 в 22:57

2 ответа

Вы были бы, вероятно, лучше обслужены эти select команда, которая позволяет пользователю выбирать опцию, это представлено им.

#!/usr/bin/env bash

echo "Are you sure?"
select yn in "Yes" "No"; do
    case $yn in
        Yes ) break;;
        No ) exit;;
    esac
done

# Add whatever you want to do if the user answered "yes" here

, Если пользователь ответил "Нет", сценарий выйдет, не выполняя код далее вниз сценарий.

единственный недостаток к использованию select - то, что опции выбраны с помощью чисел. Таким образом, потому что у нас есть две опции, пользователь не может ввести "Да", они имеют к типу "1", и т.д.

1
ответ дан 7 October 2019 в 17:12

Весь Ваш удар - программирование вопросов сразу: http://www.tldp.org/guides.html - находит "Усовершенствованное Руководство по созданию сценариев Bash".

Это содержит много примеров, очень легких читать ;-) - я имел некоторые паузы в своем использовании удара время от времени и поэтому использовал его в качестве словаря.

Также: созданным in:s удара нравится чтение, имеет справку в наличии как в

help read

и затем, простой ответ на Ваш вопрос:

echo -n "Y/N - Yes or No :" && read -N 1 ans && echo -e "\r$(tput el)You said $ans."

tput - печатает объекты от terminfo базы данных. "человек terminfo" для больше.

1
ответ дан 7 October 2019 в 17:12

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

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