2015-12-11 5 views
1

мне нужно проверить переменную $ 1, если равны несколько определений, этот сценарий работы:Bash: проверить несколько определений, если

if [ "$1" == "demo" ]; then 
      echo hello 
else 
... 

Вместо этого не работают:

if [[ "$1" == "demo" && "$1" == "prod" ]]; then 
      echo hello 
else 
... 

Если я поставил demo или prod, сценарий обходит

+0

Не используйте '==' с '['. Либо используйте '=', либо переключитесь на '[['. – chepner

ответ

4

$1 не может быть «демо» и «prod» одновременно. Вы должны использовать || (или)

if [[ "$1" == "demo" || "$1" == "prod" ]]; then 
Смежные вопросы