- ベストアンサー
シェルスクリプトの if文について
if文でずっと悩んでいます。 testIF.shというファイル名で作成したif文を実行したのですが、(kシェル) 「./testIF.sh[3]: testCount: 見つかりません。」 作成したif文は↓です。 ---------------------------------------- let testCount=0 if ( testCount > 0 ) ; then echo "OK!!" fi exit ---------------------------------------- 何がいけないのでしょうか。 まったく分かりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
このスクリプトでは、 「testCountというコマンドを起動し、その出力結果を0というファイルへリダイレクトする」という意味になります。 なのでtestCountというコマンドを探しにいってしまい、見つからなくてエラーになってます。 kshであれば if [ $testCount -gt 0 ]; then のような記述になります。 cshの記述法と混同しちゃったのかな
その他の回答 (1)
- wolfwood
- ベストアンサー率50% (199/398)
回答No.2
シェルの変数参照は先頭に$を付けます。 ifの条件のtestCountを$testCountにしてください。 if ( $testCount > 0 ) ; then
質問者
お礼
シェルの変数参照は先頭に$をつけるのですね。 勉強になりました。 ありがとうございました。
お礼
動きました。 ありがとうございました。 「testCountというコマンドを起動し、その出力結果を0というファイルへリダイレクトする」になるのですね。 勉強になりました。