• ベストアンサー

シェルスクリプトの if文について

if文でずっと悩んでいます。 testIF.shというファイル名で作成したif文を実行したのですが、(kシェル) 「./testIF.sh[3]: testCount: 見つかりません。」 作成したif文は↓です。 ---------------------------------------- let testCount=0 if ( testCount > 0 ) ; then echo "OK!!" fi exit ---------------------------------------- 何がいけないのでしょうか。 まったく分かりません。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

このスクリプトでは、 「testCountというコマンドを起動し、その出力結果を0というファイルへリダイレクトする」という意味になります。 なのでtestCountというコマンドを探しにいってしまい、見つからなくてエラーになってます。 kshであれば if [ $testCount -gt 0 ]; then のような記述になります。 cshの記述法と混同しちゃったのかな

taaar
質問者

お礼

動きました。 ありがとうございました。 「testCountというコマンドを起動し、その出力結果を0というファイルへリダイレクトする」になるのですね。 勉強になりました。

その他の回答 (1)

  • wolfwood
  • ベストアンサー率50% (199/398)
回答No.2

シェルの変数参照は先頭に$を付けます。 ifの条件のtestCountを$testCountにしてください。 if ( $testCount > 0 ) ; then

taaar
質問者

お礼

シェルの変数参照は先頭に$をつけるのですね。 勉強になりました。 ありがとうございました。

関連するQ&A