2016-04-07 2 views
0

Я хочу поставить множественным сравнить условия в случае выписки по «или» оператор Вот фрагмент кода.,Mulitple сравнить условия в, если заявление в Баш

if [[ "$input" == "string1" ] || [ "$input" == "string2" ] || [ "$input" == "string3" ]]; then 
    ... 
    fi 

Но когда я выполнить команду, это не удалось сказать синтаксическую ошибку около неожиданного токена `] '.

Не могли бы вы, ребята, помочь?

ответ

2

Заменить

[[ .. ] || [ .. ] || [ .. ]] 

по

[[ .. ]] || [[ .. ]] || [[ .. ]] 
+0

и, в соответствии с теорией о том, что код меньше кода, вы можете сделать 'if [[" x "==" y "|| "y" == "y"]]; затем echo OK; else echo nope; fi' (по крайней мере, ksh). Всем удачи. – shellter

1

Попробуйте это, Вам не нужно дополнительное [ на первой и последней позиции, если условия.

if [ "$input" == "string1" ] || [ "$input" == "string2" ] || [ "$input" == "string3" ]; then 
    ... 
fi 
Смежные вопросы