title: Compare several strings in combine with NOT EQUAL / OR
body: <p>Trying to compare following string:</p>
  <pre><code>read -p &quot;Enter Application Name (abc / def )&quot; app
  if [ -z &quot;$app&quot; ] || [ $app != &quot;abc&quot; ] || [ $app != &quot;def&quot; ]; then
      echo &quot;No or invalid application name entered&quot;
      exit 1
  fi
  </code></pre>
  <p>If you enter abc, the script is exited. According to the compare that should not happen, cause app is in this case &quot;abc&quot;. Whats wrong here?</p>
  <p>I tried it also with double brackets <code>[[ ]]</code> and with quotes <code>&quot;$app&quot; != &quot;abc&quot;</code>. Didn't work.</p>