HP-UXで「不明なテスト演算子」を再現しようとしています

HP-UXで「不明なテスト演算子」を再現しようとしています

HP-UX **** B.11.31 U ia64 *****無制限のユーザーライセンス

 LINE_COUNT=`wc -l ${LOG_DIR}/file_transaction.log`
  if [ ${LINE_COUNT:-"0"} -ge 10000 ]
  then
    mv ${LOG_DIR}/file_transaction.log ${LOG_DIR}/file_transaction.${DATE_STAMP}.log
  fi

上記のコードは

/opt/***/***/bin/***_file_mgmt_out.ksh[239]: /var/opt/***/****/log/file_transaction.log: unknown test operator

以下のコードではこのエラーを再現できません。

LINE_COUNT=1234
  if [ ${LINE_COUNT:-"0"} -ge 1000 ]
  then
    echo "line count is greater than thousand"
    else
    echo "line count is lesser than thousand"
  fi

LINE_COUNT = 990とLINE_COUNT = """を使用して上記のコードを実行してみました。

ベストアンサー1

ファイルを引数として使用するように、wc -lを使用すると、次のような結果が表示されます。

line-count file-name

これはテストオペレータにとって不適切な形式です。

行数が必要な場合は、wcに標準入力からファイルを読み取るようにしてください。

LINE_COUNT=$( wc -l < "${LOG_DIR}/file_transaction.log" )

おすすめ記事