if / elseステートメントを使用すると、単純なスクリプトでエラーが発生します。
コード:
#!/bin/sh
count=100
if [$count > 3]; then
echo "Test IF"
fi
エラー:/ bin / ash:6行目:[100:見つかりません
if / elseステートメントを使用すると、単純なスクリプトでエラーが発生します。
コード:
#!/bin/sh
count=100
if [$count > 3]; then
echo "Test IF"
fi
エラー:/ bin / ash:6行目:[100:見つかりません
#!/bin/sh
count=100;
if [ "$count" -gt 3 ]; then
echo "Test IF";
fi
構文を修正してください。スペースはとの前後に使用する必要が[
あり]
、パラメーター展開は引用符で囲む必要があり、。-gt
内の数値比較に適しています[ ]
。>
inshはリダイレクト演算子として使用されます。算術比較で使用する場合は、bashのみの構文を使用する必要があります
$(( $count > 3 ))
#!/bin/sh
if [ $var -eq 12 ]; then
echo "This is a numeric comparison if example"
fi
if [ "$var" = "12" ]; then
echo "This is a string if comparison example"
fi
if [[ "$var" = *12* ]]; then
echo "This is a string regular expression if comparison example"
fi
これでもいけます!
#!/bin/sh
count=100
if [ $count -gt 3 ];
then
echo "Test IF"
fi
シェルの if ステートメントは、コマンド [. [ はコマンドなので ('test' も使用できます)、テストする条件を記述する前にスペースが必要です。条件のリストを表示するには、次のように入力します。 man test
man ページに次のように表示されます。
s1 > s2
文字列 s1 が文字列 s2 の後にあるかどうかをテストします
n1 gt n2
整数 n1 が n2 より大きいかどうかをテストします
あなたの場合、文字列 100 は文字列 3 の後に来るので > を使用するとうまくいきますが、書く方が論理的です
if [ $count -gt 3 ]; then
echo "test if"
fi