у меня есть следующий фрагмент bashscript:Баш строка сравнить с несколькими правильными значениями
function get_cms {
echo "input cms name"
read cms
cms=${cms,,}
if [ "$cms" != "wordpress" && "$cms" != "meganto" && "$cms" != "typo3" ]; then
get_cms
fi
}
Но независимо от того, что я ввода (правильные и неправильные значения) он никогда не вызывает функцию, потому что я только хочу, чтобы 1 из этих трех входов. Я пробовал его с || с [var! = value] или [var! = value1] или [var! = value1] , но ничего не работает. Может кто-нибудь указать мне в правильном направлении?
возможно дубликат [Bash If-заявление для проверки Если строка равна единица нескольких строковых литералов] (http://stackoverflow.com/questions/22259259/bash-if-statement-to-check-if-string-is-equal-to-one-of-several-string-literals) –