2016-11-23 27 views
0

私はおそらく大きな論理的な障壁を今に持っているだけで、私はそれを手に入れません。誰かが私を助けてくれることを願っています。私は今、「myscript.shのアクティブ化」を実行しますので、場合2つの文字列のBash比較

if [ "$1" != "activate" ] || [ "$1" != "deactivate" ]; then 
    echo $1 
    exit 1 
fi 
echo "Hello the first argument is $1" 

:私は引数を持つスクリプトと、最初の引数を書いて

が可能「活性化」または「無効化」する必要があるので、私はこれを書きました出力は次のとおりです。

[email protected]$ ./myscript.sh activate 
activate 

が、出力が「こんにちは最初の引数がアクティブである」でなければなりません...

誰かが私が間違ってやっているか、私は変更する必要があるものを私に説明できますか?

おかげ

+3

あなたの第一引数には、確かに「無効」に等しいではありません。 2番目の比較をtrueに設定します。間にOR演算子を使用していることを忘れないでください。 –

+1

'[" $ 1 "!=" deactivate "]'は真です。 – mouviciel

+0

ええ、ありがとう、私は今それを得たと思う:) – Damon

答えて

3

私が使用することをお勧め:「活性化」である

if [ "$1" != "activate" ] && [ "$1" != "deactivate" ]; then 
関連する問題