Вы можете взять входные данные из пользователь через read
, и вы можете использовать блок case ... esac
, чтобы делать разные вещи.
Read принимает в качестве аргумента имя переменной, в которую он будет хранить его значение
read foo
Примет в vaue от пользователя и хранить его в $foo
.
Чтобы запросить пользователя для ввода, вам нужно будет использовать эхо.
echo "What is your favourite color?"
read color
Наконец, большинство сценариев оболочки поддерживают оператор case. Которые принимают форму
case "value" in
"CHOICE)
# Do stuff
;;
esac
Собираем все вместе:
echo "Which choice would you like? \c"
read choice
case "$choice" in
ON)
# Do Stuff
;;
OFF)
# Do different stuff
;;
*)
echo "$choice is not a valid choice"
;;
esac
мне нужно, чтобы это \ c? И нужно ли где-то определять выбор? –
Синтаксис '' \ c'' более старый для подавления новой строки из эха, вы можете просто использовать флаг '-n', если ваша система его поддерживает. Выбор для случая может быть литералами, регулярными выражениями или переменными (которые будут интерполированы). – zellio
Есть ли способ показать варианты, которые есть для пользователя? –