2012-01-25 11 views
1

私は数多くのソリューションを検索して試しましたが、シェルには新しいものがあります。私は1つの.shに変数を設定して、2番目に呼び出し、次にそれが真であるかどうかに基づいて行動しようとしています。シェル条件付きのもの

testA.sh 
#!/bin/sh 

DB=1 
. testB.sh 

------------------------------------

testB.sh 

if ${DB}==1; then 
echo "DB is on" 
fi 

私は1 == 1コマンドが見つかりません。あなたがバッシュにequality testingのやり方ではありません

+0

これとは何が関係していますか?私はタグを削除します。 – ChristopheD

答えて

1

あなたがかどうかをテストする場合変数が設定されている場合、標準的な方法は次のとおりです。

 
if test "${DB+set}" = set; then 
    # here, $DB is set 
fi 

あなたはそれが特定の文字列値、使用に設定されていることを確認したい場合は:あなたは、特定の整数値をチェックしたい場合は

 
if test "$DB" = value; ... 

 
if test "$DB" -eq 4; ... 

最後の形式DBが整数のように見えない文字列値であれば、エラーメッセージが生成されます。

0
testB.sh 

if test ${DB} == 1; then 
echo "DB is on" 
fi 
5

は次のようになります。

if [[ "$DB" = "1"]]; then 

または

if [[ $DB -eq 1 ]]; then 
関連する問題