Вопросы с тегом «case»

4
Что означает «esac» в конце заявления случая bash? Это обязательно?
Я нашел несколько примеров «esac», появляющихся в конце заявления случая bash, но я не нашел четкой документации по его использованию. Страница man использует его и даже имеет индекс по слову ( https://www.gnu.org/software/bash/manual/bashref.html#index-esac ), но не определяет его использование. Это обязательный способ завершить постановку дела, передовой опыт или чистую технику?
55 bash  case 

4
Как я могу использовать переменную как условие случая?
Я пытаюсь использовать переменную, состоящую из разных строк, разделенных с помощью |в качестве caseпроверки операторов. Например: string="\"foo\"|\"bar\"" read choice case $choice in $string) echo "You chose $choice";; *) echo "Bad choice!";; esac Я хочу иметь возможность набрать fooили barвыполнить первую часть caseзаявления. Впрочем, и то, fooи другое barменя возьмут $ …


2
Присвоение переменной вне оператора case
Во многих языках можно присваивать результат оператора case / switch переменной, а не повторять присвоение переменной много раз внутри оператора case. Можно ли сделать что-то подобное в оболочке Bash? color_code=$(case "$COLOR" in (red) 1;; (yellow) 2;; (green) 3;; (blue) 4;; esac) (Или, как в стороне, в любых других оболочках?)
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.